如何使用C#创建Excel电子表格而不需要在运行代码的计算机上安装Excel?
当前回答
如果您对xlsx格式感到满意,请尝试我的库EPPlus。它从ExcelPackage的源代码开始,但后来变成了完全重写。
它支持范围、单元格样式、图表、形状、图片、命名范围、自动筛选以及许多其他功能。
您有两个选项:
EPPlus 4,根据LGPL许可(原始分支机构,开发至2020年)EPPlus 5,根据Polyform非商业1.0.0许可(自2020年起)。
从EPPlus 5自述文件:
有了新的许可证,EPPlus在某些情况下仍然可以免费使用,但需要商业许可证才能在商业企业中使用。
EPPlus网站:https://www.epplussoftware.com/
其他回答
IKVM+波伊
或者,你可以使用Interop。。。
商业解决方案SpreadsheetGearfor.NET将做到这一点。
您可以在此处查看ASP.NET(C#和VB)的实时示例,并在此处下载评估版本。
免责声明:我拥有SpreadsheetGear LLC
我也投票支持GemBox.Spreadsheet。
非常快速且易于使用,网站上有大量示例。
以全新的执行速度完成了我的报告任务。
使用Open XML SDK 2.0 for Microsoft Office怎么样?
一些好处:
不需要安装Office由Microsoft制作=像样的MSDN文档只有一个.Net dll可用于项目SDK附带了许多工具,如diff、验证器等
链接:
githubMSDN主登录“How Do I…”起始页blogsMSDN brian_jones发布SDKblogs.MSDN brian_jones描述SDK处理大型文件而不崩溃(与DOM方法不同)
你可以试试我的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);
}
}
}