2011-11-30 112 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只存儲值,而不是格式化,顏色,水平對齊等!),但它應該是一個很好的起點。

所有源代碼都是免費提供的,因此您可以根據需要進行調整。

祝你好運!