如何使用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);
}
}
}
推荐文章
- _ViewStart的位置和方式。CSHTML布局文件链接?
- 新建T()
- 如何将枚举绑定到WPF中的组合框控件?
- 拒绝访问该路径
- Visual Studio - Resx文件默认“内部”为“公共”
- 使用linq转换列表到字典,不用担心重复
- 单元测试:日期时间。现在
- 什么是回调?
- .NET中的KeyDown和KeyPress有什么区别?
- 返回匿名类型的结果?
- 你能解释一下流的概念吗?
- 何时使用IList,何时使用List
- ConfigurationManager。AppSettings在.NET Core 2.0中可用?
- 在c#的控制台应用程序中使用'async
- 在单元测试中设置HttpContext.Current.Session