【问题标题】:Creating an Excel Workbook (*.xls) with formulas from .NET使用 .NET 中的公式创建 Excel 工作簿 (*.xls)
【发布时间】:2009-04-07 21:11:56
【问题描述】:

我正在使用 ASP.NET Webforms,我需要将报告创建为 Excel 文件。

这应该很容易,通过更改 ContentType,但我需要为某些单元格动态添加公式。

有什么想法吗?

PS:excel文件的格式应该是XLS而不是XLSX。

【问题讨论】:

    标签: asp.net excel excel-formula


    【解决方案1】:

    我为此推荐SpreadsheetML。它只是一个 xml 架构,您可以使用它来创建 Excel 将像本机一样打开的文档。您可以设置公式、格式、多个工作表和大多数其他 Excel 功能。

    在搜索有关 SpreadSheetML 的其他信息时要小心:有很多错误信息将 SpreadSheetML 与 Office 2007 中用于 Excel 的新 Xml 格式混淆。事实并非如此。 SpreadSheetML 早在 OfficeXP 中就可以使用,甚至在 Office 2000 中也是有限的。

    如果没有别的,本文开头的 SpreadSheetML 链接还包含用于创建 Excel 文件的其他选项的简短概述。

    【讨论】:

    • 乔尔的好答案。但我担心没有人会喜欢它,因为人们宁愿买鱼也不愿学钓鱼,而且有可用的小部件库。
    • 我正在使用这种方法,由于安全原因,我无法使用外部库。
    【解决方案2】:

    你试过这个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");
        }
    }
    

    【讨论】:

    • 嗯.. 样本不保存为 XLS 格式 - 它是 SpreadsheetML 格式。
    【解决方案3】:

    我为此使用了Infragistics Excel export/import component,效果很好。

    它支持公式和样式,并且非常可靠。唯一的缺点是它相当昂贵,必须作为包装的一部分购买。

    【讨论】:

      【解决方案4】:

      SpreadsheetGear for .NET 将创建 XLS 或 XLSX 工作簿并包括完整的公式支持。

      您可以看到一些实时的 ASP.NET Excel 报告示例here

      免责声明:我拥有 SpreadsheetGear LLC。

      【讨论】:

        猜你喜欢
        • 2019-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-03
        • 1970-01-01
        相关资源
        最近更新 更多