我正在使用ASP.NET Webforms,並且需要將報告創建爲Excel文件。使用.NET中的公式創建Excel工作簿(* .xls)
這應該很容易,通過更改ContentType,但我需要動態地添加公式到一些單元格。
任何想法?
PS:excel文件的格式應該是XLS而不是XLSX。
我正在使用ASP.NET Webforms,並且需要將報告創建爲Excel文件。使用.NET中的公式創建Excel工作簿(* .xls)
這應該很容易,通過更改ContentType,但我需要動態地添加公式到一些單元格。
任何想法?
PS:excel文件的格式應該是XLS而不是XLSX。
我建議SpreadsheetML這一點。這只是一個xml模式,您可以使用它來創建Excel將打開的文檔,就好像它們是本地文檔一樣。您可以設置公式,格式,多張工作表和大多數其他Excel功能。
在Google上搜索有關SpreadSheetML的其他信息時請注意:有很多錯誤信息將SpreadSheetML與Office 2007中用於Excel的新Xml格式混淆。事實並非如此。 SpreadSheetML的工作原理與OfficeXP相同,即使在Office 2000中也有限制。
如果沒有其他問題,本文開頭的SpreadSheetML鏈接還包含其他創建Excel文件選項的簡短概述。
您是否試過這樣的ExcelXmlWriter library?
此外,還有一個helper/generator tool隨圖書館。
它會生成.XLS文件。從網站的樣本顯示:
using CarlosAg.ExcelXmlWriter;
class TestApp {
static void Main(string[] args) {
Workbook book = new Workbook();
Worksheet sheet = book.Worksheets.Add("Sample");
WorksheetRow row = sheet.Table.Rows.Add();
row.Cells.Add("Hello World");
book.Save(@"c:\test.xls");
}
}
我已經使用Infragistics Excel export/import component這個,它工作得很好。
它支持公式和樣式,並且非常穩固。唯一的缺點是它相當昂貴,必須作爲套件的一部分購買。
它是否適用於非OpenXML excel文件? – 2009-04-07 21:21:08
是的,我修改了上面的代碼播種一個.xls示例。 – NoahD 2009-04-08 00:23:43