如何使用C#创建Excel电子表格而不需要在运行代码的计算机上安装Excel?


当前回答

我使用了几个选项:

如果XLSX是必须的:ExcelPackage是一个很好的开始,但当开发人员停止工作时就夭折了。ExML不是一个坏选项,我仍在一些生产网站上使用它。

不过,对于我的所有新项目,我都使用NPOI,即Apache POI的.NET端口。NPOI 2.0(Alpha)也支持XLSX。

其他回答

我想知道为什么没有人建议PowerShell使用免费的ImportExcel模块;它可以轻松创建XML Excel文件(xlsx)。

从SQL Server等数据库创建Excel工作表时尤其容易。。。

你试过sylk吗?

我们曾经在经典的asp中生成excelsheets作为sylk,现在我们也在寻找excelsheeter。

sylk的优点是,可以格式化单元格。

也可以使用Aspose这样的第三方库。

此库的优点是它不需要在您的计算机上安装Excel,这在您的情况下是理想的。

Java开源解决方案是Apache POI。也许这里有一种设置互操作的方法,但我对Java的了解不够,无法回答这个问题。

当我探索这个问题时,我最终使用了互操作程序集。

你可以试试我的SwiftExcel库。此库直接写入文件,因此非常高效。例如,您可以在几秒钟内写入100k行,而不占用任何内存。

下面是一个简单的用法示例:

using (var ew = new ExcelWriter("C:\\temp\\test.xlsx"))
{
    for (var row = 1; row <= 10; row++)
    {
        for (var col = 1; col <= 5; col++)
        {
            ew.Write($"row:{row}-col:{col}", col, row);
        }
    }
}