我正在使用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