如何在不安装Microsoft Office的情况下用C#创建Excel(.XLS和.XLSX)文件? |
您所在的位置:网站首页 › 电脑为什么不能安装excel › 如何在不安装Microsoft Office的情况下用C#创建Excel(.XLS和.XLSX)文件? |
如何在不使用运行代码的计算机上安装Excel的情况下使用C#创建Excel电子表格? #1楼我成功地使用了以下开源项目: OOXML格式的ExcelPackage(Office 2007) .XLS格式的NPOI(Office 2003)。 NPOI 2.0 (Beta)也支持XLSX。 看看我的博客文章: 在C#中创建Excel电子表格.XLS和.XLSX NPOI与Excel表和动态图表 #2楼您实际上可能想检查C#中可用的互操作类(例如Microsoft.Office.Interop.Excel 。您说没有OLE(不是),但是互操作类非常易于使用。请查阅C#文档。此处 (Interop for Excel从C#PDF的第1072页开始)。 如果您还没有尝试过,可能会给您留下深刻的印象。 请注意微软在此方面的立场 : Microsoft当前不建议也不支持任何无人参与的非交互客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT Services)中的Microsoft Office应用程序自动化,因为Office可能表现出不稳定的行为和/在此环境中运行Office时出现死锁或死锁。 #3楼一个非常轻量级的选择可能是使用HTML表。 只需在文件中创建head,body和table标签,然后将其另存为扩展名为.xls的文件即可。 您可以使用Microsoft特定的属性来设置输出样式,包括公式。 我意识到您可能没有在Web应用程序中对此进行编码,但这是通过HTML表构成Excel文件的示例 。 如果您要编码控制台应用程序,桌面应用程序或服务,则可以使用此技术。 #4楼IKVM + POI 或者,您可以使用Interop ... #5楼您可以使用OLEDB创建和操作Excel文件。 检查以下内容: 使用OLEDB读写Excel 。 典型示例: using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\test.xls;Extended Properties='Excel 8.0;HDR=Yes'")) { conn.Open(); OleDbCommand cmd = new OleDbCommand("CREATE TABLE [Sheet1] ([Column1] string, [Column2] string)", conn); cmd.ExecuteNonQuery(); }编辑-更多链接: 嗨,脚本专家! 如何在不使用Excel的情况下阅读Excel? 如何在Visual Basic .NET中使用ADO.NET检索和修改Excel工作簿中的记录 使用ADO.NET C#DbProviderFactory读写Excel电子表格 #6楼您可能想看看GemBox.Spreadsheet 。 它们具有所有功能的免费版本,但如果您需要的话,每页限制为150行,每工作簿限制为5页。 我还没有必要自己使用它,但看起来确实很有趣。 #7楼您可以考虑使用XML Spreadsheet 2003格式创建文件。 这是使用完备的文档架构的简单XML格式。 #8楼这是使用LINQ to XML做到的方法,并附带示例代码: 使用LINQ快速将Excel数据导入和导出到XML 这有点复杂,因为您必须导入名称空间等,但是它的确可以避免任何外部依赖性。 (当然,它也是VB .NET,而不是C#,但是您始终可以在自己的项目中隔离VB .NET内容,以使用XML Literals,并在C#中执行其他所有操作。) #9楼我同意生成XML Spreadsheets,这是一个有关如何为C#3进行处理的示例(每个人都在VB 9中对它进行博客:P) http://www.aaron-powell.com/linq-to-xml-to-擅长 #10楼C#中一些有用的Excel自动化,您可以从以下链接中找到。 http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm 博尔顿。 #11楼好, 您还可以使用第三方库(例如Aspose) 。 该库的优点是不需要在您的计算机上安装Excel,这对您来说是理想的选择。 #12楼如果您对xlsx格式感到满意,请尝试我的GitHub项目EPPlus 。 它始于ExcelPackage的源代码,但今天已完全重写。 它支持范围,单元格样式,图表,形状,图片,命名范围,自动筛选和许多其他功能。 #13楼您可以使用一个名为ExcelLibrary的库。 它是发布在Google Code上的免费开放源代码库: ExcelLibrary 这似乎是您上面提到的PHP ExcelWriter的端口。 它不会写入新的.xlsx格式,但是他们正在努力添加该功能。 它非常简单,小巧且易于使用。 另外,它还有一个DataSetHelper,可让您使用数据集和数据表轻松处理Excel数据。 ExcelLibrary似乎仍然仅适用于较旧的Excel格式(.xls文件),但将来可能会增加对较新的2007/2010格式的支持。 您还可以使用EPPlus ,它仅适用于Excel 2007/2010格式的文件(.xlsx文件)。 还有NPOI可以同时使用。 如注释中所述,每个库都有一些已知的错误。 总之,随着时间的流逝,EPPlus似乎是最佳选择。 它似乎也得到了更积极的更新和记录。 另外,如下面的@АртёмЦарионов所述,EPPlus支持数据透视表,而ExcelLibrary可能有一些支持( ExcelLibrary中的数据透视表问题 ) 这里有几个链接供快速参考: ExcelLibrary - |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |