如何使用C#创建Excel电子表格而不需要在运行代码的计算机上安装Excel?
当前回答
我想知道为什么没有人建议PowerShell使用免费的ImportExcel模块;它可以轻松创建XML Excel文件(xlsx)。
从SQL Server等数据库创建Excel工作表时尤其容易。。。
其他回答
我成功地使用了以下开源项目:
用于OOXML格式的ExcelPackage(Office 2007)XLS格式的NPOI(Office 2003)。NPOI 2.0(Beta版)也支持XLSX。
看看我的博客帖子:
在C中创建Excel电子表格.XLS和.XLSX#
带有Excel表格和动态图表的NPOI
你可能想看看GemBox.Spresheet。
他们有一个免费版本,具有所有功能,但如果符合您的需要,则限制为每张150行,每张工作簿5页。
我还不需要自己使用它,但看起来很有趣。
我找到了另一个没有太多依赖性的库:MiniExcel。
您可以使用DataTables作为电子表格创建数据集(表格的名称是电子表格的名称),并通过以下方式将其保存到.xlsx文件
using var stream = File.Create(filePath);
stream.SaveAs(dataSet);
or
MiniExcel.SaveAs(filePath, dataSet);
它还提供Excel文件的读取,并支持CSV文件的读取和写入。
我正在使用以下代码创建excel 2007文件,该文件创建了该文件并写入该文件,但当我打开该文件时,它给我的错误是exel无法打开文件bcz文件可能已损坏或文件扩展名不兼容。但如果我使用.xls作为文件,它可以工作
for (int i = 0; i < TotalFile; i++)
{
Contact.Clear();
if (innerloop == SplitSize)
{
for (int j = 0; j < SplitSize; j++)
{
string strContact = DSt.Tables[0].Rows[i * SplitSize + j][0].ToString();
Contact.Add(strContact);
}
string strExcel = strFileName + "_" + i.ToString() + ".xlsx";
File.WriteAllLines(strExcel, Contact.ToArray());
}
}
也参考链接
http://dotnet-magic.blogspot.in/2011/10/createformat-excel-file-from-cnet.html
Java开源解决方案是Apache POI。也许这里有一种设置互操作的方法,但我对Java的了解不够,无法回答这个问题。
当我探索这个问题时,我最终使用了互操作程序集。
推荐文章
- 如何在没有任何错误或警告的情况下找到构建失败的原因
- 跨线程操作无效:控件“textBox1”从创建它的线程以外的线程访问
- Visual Studio弹出提示:“操作无法完成”
- 否ConcurrentList<T>在。net 4.0?
- 在c#中解析字符串为日期时间
- 由Jon Skeet撰写的《Singleton》澄清
- 自定义数字格式字符串始终显示符号
- 单元测试无效方法?
- 如何在Python中连接文本文件?
- Post参数始终为空
- 使用Moq验证方法调用
- string.ToLower()和string.ToLowerInvariant()
- 如何为一个或枚举删除一个项目?
- 检查instance是否属于某个类型
- 为什么c#不提供c++风格的'friend'关键字?