是否有免费或开源的库可以直接从c#程序中读取Excel文件(.xls) ?
它不需要太花哨,只需选择一个工作表并将数据作为字符串读取即可。到目前为止,我一直在使用Excel的Export to Unicode文本功能,并解析生成的(以制表符分隔的)文件,但我想消除手动步骤。
是否有免费或开源的库可以直接从c#程序中读取Excel文件(.xls) ?
它不需要太花哨,只需选择一个工作表并将数据作为字符串读取即可。到目前为止,我一直在使用Excel的Export to Unicode文本功能,并解析生成的(以制表符分隔的)文件,但我想消除手动步骤。
当前回答
SpreadsheetGear非常棒。是的,这是一笔费用,但与其他解决方案相比,这是值得的。它快速,可靠,非常全面,我不得不说,在我的全职软件工作中使用这个产品超过一年半之后,他们的客户支持非常棒!
其他回答
Excel软件包是一个开源的(GPL)组件,用于读取/写入Excel 2007文件。我在一个小项目中使用了它,它的API很简单。只能使用XLSX (Excel 200&),不能使用XLS。
源代码似乎组织良好,易于处理(如果您像我一样需要扩展功能或修复小问题)。
起初,我尝试了ADO。Net (Excel连接字符串)方法,但它充满了讨厌的黑客——例如,如果第二行包含一个数字,它将为下面的列中的所有字段返回整数,并悄悄删除任何不匹配的数据。
如果我离题了请原谅,但这不是Office PIA的用途吗?
我推荐FileHelpers库,这是一个免费的,易于使用的。net库,用于从EXCEL中导入/导出数据,文件,字符串或流中的固定长度或分隔记录+更多。
Excel数据链接文档部分 http://filehelpers.sourceforge.net/example_exceldatalink.html
我们使用的解决方案需要:
允许读取/写入Excel生成的文件 性能要快(不像使用com那样) 独立于MS Office(需要在客户端没有安装MS Office的情况下也能使用) 免费或开源(但要积极开发)
有几种选择,但我们发现NPoi(。NET端口的Java长期存在的Poi开源项目)是最好的: http://npoi.codeplex.com/
它还允许使用.doc和.ppt文件格式
虽然迟到了,但我是LinqToExcel的粉丝