ASP.Net将数据导出到Excel

时间:2011-11-30 18:47:14

标签: c# asp.net excel

想知道什么是一个好的库我可以用VS2005将数据导出到excel文件。该文件有一些格式,如背景颜色和colspans。

由于

5 个答案:

答案 0 :(得分:3)

以下是一些使用技巧将HTML输出到Excel文件的代码。我发现你可以通过将输出的内容类型设置为“application / excel”来欺骗excel打开HTML。

在下面的代码中,secresults是一个像这样的HTML div:

<div id="secresults" runat="server" visible="false" class="secresults">
Content or data here.
</div>

在代码背后:

Response.ClearContent();
string filename = "Output" + istartDate.ToShortDateString() + ".xls";
Response.AddHeader("content-disposition", "attachment; filename=" + filename + ";");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);

secresults.RenderControl(htw);


Response.Write(sw.toString());
Response.End();

我发现你可以在excel中使用一些html格式。要测试可以使用的格式,可以创建一个html文件并将其重命名为.xls文件,然后使用excel打开它。您可以很好地了解HTML Excel的内容。

答案 1 :(得分:3)

我建议您从以下网站上课,并根据您的需要进行调整。

Mikes Knowledge Base - ExportToExcel

默认情况下,此类使用DataSet,DataTable或List&lt;&gt;,并使用 OpenXML 库将其导出到正版 Excel 2007 .xlsx文件中(也提供)。

它目前没有尝试向Excel单元格添加任何格式化(DataTables只存储值,而不是格式化,颜色,水平对齐等等),但它应该是一个很好的起点。

所有源代码均免费提供,因此您可以根据需要进行调整。

祝你好运!

答案 2 :(得分:1)

我过去曾使用过这个库,但我通常只会吐出一个CSV文件。

C# class library for exporting data to CSV/Excel file

答案 3 :(得分:1)

如果您预定了文档的布局,Templater可能符合您的描述。

请查看有关如何使用它的example

答案 4 :(得分:1)

我已使用此codeplex project (Excel Package)。一种技术是从格式化模板开始,然后修改模板。这比从空电子表格开始应用大量样式命令要容易得多。