是否有免费或开源的库可以直接从c#程序中读取Excel文件(.xls) ?
它不需要太花哨,只需选择一个工作表并将数据作为字符串读取即可。到目前为止,我一直在使用Excel的Export to Unicode文本功能,并解析生成的(以制表符分隔的)文件,但我想消除手动步骤。
是否有免费或开源的库可以直接从c#程序中读取Excel文件(.xls) ?
它不需要太花哨,只需选择一个工作表并将数据作为字符串读取即可。到目前为止,我一直在使用Excel的Export to Unicode文本功能,并解析生成的(以制表符分隔的)文件,但我想消除手动步骤。
当前回答
ADO。NET方法是快速和简单的,但它有一些您应该注意的怪癖,特别是关于如何处理DataTypes。
这篇优秀的文章将帮助你避免一些常见的陷阱: http://blog.lab49.com/archives/196
其他回答
不是免费的,但是在最新的Office中有一个非常好的自动化。net API。(有一个API已经有很长一段时间了,但是讨厌的COM)你可以在代码中做任何你想要/需要的事情,而Office应用程序仍然是隐藏的后台进程。
Excel数据阅读器是去的方式!
它是开源的,在http://exceldatareader.codeplex.com/上,正在积极开发。
我们使用它来阅读表格(有时不是那么表格)工作表已经有几年了(在一个金融应用程序中)。
可以从人类可读的表中读取单元测试数据。
只需避免尝试返回DateTime的功能,因为对于Excel, DateTime只是双位数。
如果只是包含在Excel文件中的简单数据,则可以通过ADO.NET读取数据。请看下面列出的连接字符串:
http://www.connectionstrings.com/?carrier=excel2007 或 http://www.connectionstrings.com/?carrier=excel
对
更新:然后你可以读取工作表通过选择*从[Sheet1$]
虽然您特别要求使用.xls,这意味着使用较旧的文件格式,但对于OpenXML格式(例如xlsx),我强烈推荐使用OpenXML SDK (http://msdn.microsoft.com/en-us/library/bb448854.aspx)。
接受。io电子表格将为您做这个工作,并且不收费。看看这个。