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

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


当前回答

如果只是包含在Excel文件中的简单数据,则可以通过ADO.NET读取数据。请看下面列出的连接字符串:

http://www.connectionstrings.com/?carrier=excel2007 或 http://www.connectionstrings.com/?carrier=excel

更新:然后你可以读取工作表通过选择*从[Sheet1$]

其他回答

刚刚做了一个需要管理一些excel文件的快速演示项目。GemBox软件的. net组件足以满足我的需求。它有一个免费版本,但有一些限制。

http://www.gemboxsoftware.com/GBSpreadsheet.htm

我刚刚用ExcelLibrary加载了一个。xls电子表格到一个数据集。对我来说很管用。

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

如果在同一个工作表中有多个表,可以给每个表一个对象名称,并使用OleDb方法读取表,如下所示:http://vbktech.wordpress.com/2011/05/10/c-net-reading-and-writing-to-multiple-tables-in-the-same-microsoft-excel-worksheet/

不久前,我在c#中从Excel文件中读取了大量数据,我们使用了两种方法:

COM API,在这里您可以直接访问Excel的对象并通过方法和属性操作它们 允许像使用数据库一样使用Excel的ODBC驱动程序。

后一种方法要快得多:通过COM读取一个有20列和200行的大表需要30秒,通过ODBC只需半秒。所以,如果你需要的只是数据,我建议使用数据库方法。

欢呼,

Carl