65.9K
CodeProject 正在变化。 阅读更多。
Home

将数据表导出为与MS-Office和Open-Office兼容的XLS/CSV文件

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.41/5 (22投票s)

2005年6月29日

1分钟阅读

viewsIcon

143276

downloadIcon

3716

它使用HTML标签生成Excel文件,这些文件也与Open-Office兼容。

Sample Image - ExportXLSCSV.gif

引言

大多数情况下,我们都会收到客户导出数据到.XLS或.CSV格式的需求。以下是开发者常用的解决方案

  • Response.ContentType = ="application/vnd.ms-excel",这需要客户端机器上正确安装Excel。
  • 现在为了节省成本,开发者可以在服务器上生成Excel文件,然后下载生成的. 但这仍然需要服务器上的一份许可证,并且通常会因为Excel对象是非托管的而导致性能问题。
  • 可以使用XML/XSLT解决方案 这里,用户可以在服务器上生成文件并下载它,而无需在服务器上使用Excel许可证。之后,如果用户拥有完整版的Excel,可以修改文件;如果安装了Excel查看器,则可以查看文件。

但是我的客户更关注成本,他们使用的是Open-Office,而不是完整版的Excel来节省许可证成本。这导致了这个代码库的开发,它可以在不使用任何许可证的情况下,使XLS与Open-Office和Excel兼容。

使用这个库代码

这个库是用C#实现的,没有使用任何非托管资源,使用起来非常简单。以下是示例

  • 生成Excel
    string fileName = 
      System.Guid.NewGuid().ToString().Replace("-","") + ".xls";
    (new ExportDemo.Libraries.ExcelConvertor()).Convert(
      GenerateDataTable(),Server.MapPath("."),fileName); 
    Response.Redirect(fileName);
  • 生成CSV
    string fileName = 
      System.Guid.NewGuid().ToString().Replace("-","") + ".xls"; 
    (new ExportDemo.Libraries.ExcelConvertor()).Convert(
      GenerateDataTable(),Server.MapPath("."),fileName); 
    Response.Redirect(fileName);

关注点

此组件与.NET Framework库一样免费。

历史

  • 初始版本于05年6月29日添加。
© . All rights reserved.