将excel导入到C#窗体中的数据表时出错

时间:2012-01-20 12:37:03

标签: c# excel import-from-excel

我有一张Excel工作表,excel工作表中的每一列都有不同的数据类型。 Excel工作表中的一列具有类似

的值
**Column name**
6%
10%
15%
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
<blankvalue>
FZDxxxCV
01
FZDLKMCV
FZDLKMCV
FZDLKMCV
FZDLKMCV

注意:“&lt; blankvalue&gt;”是excel中的空单元格。 现在在导入excel时,除了前三个值转换为十进制为0.06,0.10,0.15之外,此特定列值变为空白。 excel中的前3个单元格的类型是“百分比”,而其他单元格的类型是“常规”。 我也试过更改连接字符串属性仍然没有用。 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

从Excel导入数据时,这是一个经典问题。您的ADO提供程序根据前几行猜测数据类型,并且丢弃任何不符合该初始猜测的内容。

在你的情况下,它猜测列是基于早期行的数字,然后丢弃FZDLKMCV值。

这是一个巨大的痛苦,有各种解决方案。 StackOverflow中已经存在很多关于这个问题的问题。试试这些链接:

Accessing Excel Spreadsheet with C# occasionally returns blank value for some cells
Help with a OleDB connection string for excel files
OleDB & mixed Excel datatypes : missing data