【发布时间】:2009-04-07 21:11:56
【问题描述】:
我正在使用 ASP.NET Webforms,我需要将报告创建为 Excel 文件。
这应该很容易,通过更改 ContentType,但我需要为某些单元格动态添加公式。
有什么想法吗?
PS:excel文件的格式应该是XLS而不是XLSX。
【问题讨论】:
标签: asp.net excel excel-formula
我正在使用 ASP.NET Webforms,我需要将报告创建为 Excel 文件。
这应该很容易,通过更改 ContentType,但我需要为某些单元格动态添加公式。
有什么想法吗?
PS:excel文件的格式应该是XLS而不是XLSX。
【问题讨论】:
标签: asp.net excel excel-formula
我为此推荐SpreadsheetML。它只是一个 xml 架构,您可以使用它来创建 Excel 将像本机一样打开的文档。您可以设置公式、格式、多个工作表和大多数其他 Excel 功能。
在搜索有关 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,效果很好。
它支持公式和样式,并且非常可靠。唯一的缺点是它相当昂贵,必须作为包装的一部分购买。
【讨论】:
SpreadsheetGear for .NET 将创建 XLS 或 XLSX 工作簿并包括完整的公式支持。
您可以看到一些实时的 ASP.NET Excel 报告示例here。
免责声明:我拥有 SpreadsheetGear LLC。
【讨论】: