是否有免费或开源的库可以直接从c#程序中读取Excel文件(.xls) ?

它不需要太花哨,只需选择一个工作表并将数据作为字符串读取即可。到目前为止,我一直在使用Excel的Export to Unicode文本功能,并解析生成的(以制表符分隔的)文件,但我想消除手动步骤。


当前回答

SpreadsheetGear非常棒。是的,这是一笔费用,但与其他解决方案相比,这是值得的。它快速,可靠,非常全面,我不得不说,在我的全职软件工作中使用这个产品超过一年半之后,他们的客户支持非常棒!

其他回答

我们在相当大的系统中使用ClosedXML。

免费的 安装方便 直接编码 非常灵敏的支持 开发团队对新的建议非常开放。通常情况下,新特性和bug修复会在同一周内实现

如果只是表格数据。我推荐Marcos Melli的文件数据助手,可以在这里下载。

Excel软件包是一个开源的(GPL)组件,用于读取/写入Excel 2007文件。我在一个小项目中使用了它,它的API很简单。只能使用XLSX (Excel 200&),不能使用XLS。

源代码似乎组织良好,易于处理(如果您像我一样需要扩展功能或修复小问题)。

起初,我尝试了ADO。Net (Excel连接字符串)方法,但它充满了讨厌的黑客——例如,如果第二行包含一个数字,它将为下面的列中的所有字段返回整数,并悄悄删除任何不匹配的数据。

. net组件Excel Reader . net可以满足您的需求。它对于读取XLSX和XLS文件来说已经足够好了。所以你可以试试:

http://www.devtriogroup.com/ExcelReader

我知道人们为了这个目的一直在做一个Excel“扩展”。 你或多或少在Excel中创建一个按钮,上面写着“导出到程序X”,然后以程序可以读取的格式导出并发送数据。

http://msdn.microsoft.com/en-us/library/ms186213.aspx应该是一个很好的开始。

祝你好运