从Web应用程序导出到excel文件

时间:2011-12-15 06:57:40

标签: c# asp.net excel export

我想将数据导出到excel文件(使用Response生成excel文件并提示下载)。 我有一个DataSet。我想用我自己的格式导出。喜欢添加一个标志。改变一些colums背景颜色。使一些行变粗。

问题:

  1. 我尝试使用xml电子表格,但我发现没有办法插入图片。而且在打开文件时还有一条警告信息(因为它不是二进制格式而是xml格式)

    < / LI>
  2. 我也试过了excellibrary。但是我不能在任何单元格中使用背景颜色。我发现这是一个尚未解决的excellibrary问题。

  3. 所以我可以有效地导出数据(当然它应该是免费的)。

    提前致谢。

4 个答案:

答案 0 :(得分:2)

您可以通过不同的方式实现您想要的目标 - 例如通过HTML-Export ...有关使用示例代码创建Excel文件的HTML方法的一些深入信息,请参阅http://www.c-sharpcorner.com/UploadFile/kaushikborah28/79Nick08302007171404PM/79Nick.aspx

另请查看http://msdn.microsoft.com/en-us/library/Aa155477%28office.10%29.aspx

上的官方文档

创建Excel文件的其他选项:

MS提供免费的OpenXML SDK V 2.0 - 请参阅http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx

这可以读取+写入MS Office文件(包括Excel)。

另一个免费选项见http://www.codeproject.com/KB/office/OpenXML.aspx

如果你需要更多像渲染,公式等,那么有不同的免费和商业图书馆,如ClosedXML(免费),EPPlus(免费),Aspose.Cells(商业),{ {3}}(商业),SpreadsheetGear(商业)和LibXL(商业)等。

答案 1 :(得分:1)

试试吧。可能会,这会对你有所帮助:

System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
dg.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());

答案 2 :(得分:0)

您是否尝试过使用Microsoft Excel 12.0对象库(编辑:现在实际上是14)

自从我使用它已经有一段时间了,但它是Visual Studio(我认为)和用于处理Office文档的Microsoft库的标准。

答案 3 :(得分:0)

这是一个很好的教程,可以在C#中使用Excel-com界面并添加图像:

http://csharp.net-informations.com/excel/csharp-insert-picture-excel.htm