如何使用C#创建Excel电子表格而不需要在运行代码的计算机上安装Excel?
当前回答
http://www.codeproject.com/KB/cs/Excel_and_C_.aspx<=为什么不使用内置的windows功能,只需在服务器上安装office,您安装的任何应用程序都可以自动化。
使用本机方法就容易多了。
如果安装了它,你就可以使用它,这是windows中最棒、使用率最低的功能,在过去的好日子里,它被称为COM,它为你节省了大量时间和痛苦。
或者更简单地使用ref lib MS供应品-http://csharp.net-informations.com/excel/csharp-create-excel.htm
其他回答
只想添加另一个引用到直接解决您问题的第三方解决方案:http://www.officewriter.com
(免责声明:我为制作OfficeWriter的公司SoftArtisans工作)
前段时间,我在NPOI上创建了一个DLL。使用它非常简单:
IList<DummyPerson> dummyPeople = new List<DummyPerson>();
//Add data to dummyPeople...
IExportEngine engine = new ExcelExportEngine();
engine.AddData(dummyPeople);
MemoryStream memory = engine.Export();
你可以在这里阅读更多。
顺便说一句,它是100%开源的。随时使用、编辑和共享;)
如果您正在创建Excel 2007/2010文件,请尝试此开源项目:https://github.com/closedxml/closedxml
它提供了一种面向对象的方式来操作文件(类似于VBA),而无需处理XML文档的麻烦。可以使用使用任何.NET语言,如C#和Visual Basic(VB)。ClosedXML允许您在不使用Excel的情况下创建Excel 2007/2010文件应用典型的示例是在web上创建Excel报表服务器:var工作簿=新XLWorkbook();var worksheet=workbook.Worksheets.Add(“样本表”);worksheet.Cell(“A1”).Value=“Hello World!”;工作簿.另存为(“HelloWorld.xlsx”);
你可以试试我的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);
}
}
}
IKVM+波伊
或者,你可以使用Interop。。。
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 没有ListBox。SelectionMode="None",是否有其他方法禁用列表框中的选择?
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何在iis7应用程序池中设置。net Framework 4.5版本