什么是ADO.NET的替代,但在C#中读取Excel文件的优雅方式

当ADO.NET用于读取列中包含混合数据types的Excel文件时,ADO.NET会失败。 它似乎试图确定列的数据types,然后假设整个列的其余部分是相同的数据types。 这里有一些背景:

如何防止ADO.NET从Excel文件读取时更改双精度值

http://blog.lab49.com/archives/196

什么是不需要自动化的替代方法,Excel可以被安装,很简单(因为input的excel文件在每个文件中只有一个工作表)。

这取决于您需要支持的Excel版本。 我过去成功地使用了ExcelPackage来阅读和创buildExcel 2007文件。 它不再处于发展之中,这有点耻辱。 你不得不手动循环所有的单元格,我不会称它为优雅的,但它是灵活的;)

Lenielbuild议在ExcelPackage上使用EPPlus。 我自己并没有用过,但看起来很有希望。

这个问题还有其他一些build议,但是我对其他图书馆没有经验。

我心脏NPOI。

http://npoi.codeplex.com/