无法从 C# 中的 excel 文件中读取数值

Posted

技术标签:

【中文标题】无法从 C# 中的 excel 文件中读取数值【英文标题】:unable to read numeric values from excel file in c# 【发布时间】:2011-03-02 12:58:20 【问题描述】:

我正在使用以下连接字符串

提供者=Microsoft.Jet.OLEDB.4.0;" + "数据源=" + Convert.ToString(pa) + ";" + "扩展属性=Excel 8.0

但当一列仅包含数值时,它会将其读取为空

有什么想法吗? 请帮忙

【问题讨论】:

您的 excel 列是仅包含数值还是还包含字符串值?如果列有标题,则必须在连接字符串中使用HDR=1; 选项。 @Devendra:它也可能包括字符串和数值,标题不是强制性的..但是在阅读时我将第一行作为标题行。但是如果我设置 HDR=1 那么总是第一行将被视为标题。如果第 1 行为空,则第 2 行将被视为标题,但是不读取数值? 【参考方案1】:

阅读这篇博文

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

更好地了解这里发生了什么。简而言之:使用 OleDb 读取 Excel 工作表在(糟糕的!)设计上是非常不可靠的。这是一个更好的选择(对于旧的非 XML Excel 文件格式):

http://jexcelapi.sourceforge.net/

(在“文件”部分下,您将找到此 Java 库的 C# 端口)。

【讨论】:

thanx brown 博客上的优秀文章

以上是关于无法从 C# 中的 excel 文件中读取数值的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 read_excel 从 pandas 中的 xlsx 文件中读取日期列?

C#从Excel中读取数据为空了,该怎么解决啊?

无法从 C# 中的控制台应用程序中读取配置文件

使用列名从excel中读取数据并插入到C#中的SQL表中

无法从 excel 列中读取字符串值

C# 读取excel组件方法?