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

标签 c# excel

ADO.NET 在用于读取其中一列包含混合数据类型的 Excel 文件时惨遭失败。它似乎试图确定列的数据类型,然后假设整个列的其余部分具有相同的数据类型。以下是一些背景:

How to prevent ADO.NET from altering double values when it reads from Excel files

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

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

最佳答案

这在一定程度上取决于您需要支持的 Excel 版本。我用过 ExcelPackage过去成功读取和创建 Excel 2007 文件。它不再处于开发中,这有点可惜。您必须手动遍历所有单元格,我不会称之为优雅,但它很灵活;)

Leniel 建议使用 EPPlus在 Excel 包上。我自己没有使用过它,但它看起来很有前途。

this question中还有其他几个建议,但我没有使用其他库的经验。

关于c# - 什么是 ADO.NET 的替代品,但在 C# 中读取 Excel 文件的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2969058/

相关文章:

c# - BackGroundWorker 不在后台执行

c# - 如何在非托管 DirectX 中将纹理映射到圆柱体?

python - 在 Python 或 R 中合并具有不同 header 的数据

c# - 针对 Excel 列循环遍历 SQL 数据库列的最快方法 - C#

python - 将直方图从 Python 导出到 Excel

c# - 如何初始化加载程序列表

c# - 如何使用infragistics语法解析引擎?

c# - .net 构造/模式按代码段阻塞,而不是按线程阻塞

java - 使用 java、Apache POI 每 3 列后在 Excel 中创建列标题

vba - 如何在 Excel VBA 中使用输入框过滤数据透视表