2011-11-30 168 views

回答

1

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

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

+0

我也看到了这个库。你可以使用该库进行格式化吗?意思是创建背景颜色,改变某些列的文本字体等。 – MindGame

+0

不确定,我怀疑它,听起来像你可能需要像SQL Reporting Services,活动报告等报告解决方案...等 –

2

下面是一个使用一招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(); 

我发现,您可以使用某些HTML中的Excel格式。要测试可以使用哪种格式,可以创建一个html文件并将其重命名为.xls文件,然后使用excel打开它。您可以对HTML Excel将读取的内容有一个很好的想法。

+0

不错。不知道你能做到这一点。 – MindGame

1

如果您有预定义的文档布局,Templater可能适合您的描述。

看看example关于如何使用它。

3

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

Mikes Knowledge Base - ExportToExcel

默认情况下,这个类需要一个DataSet,DataTable中或列表<>,并出口到真正 Excel 2007中.xlsx文件,使用的OpenXML库(也提供)。

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

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

祝你好运!