Excel在读入数据集时传递错误的列类型

时间:2013-06-19 18:32:08

标签: excel dataset

我正在将.xls文档读入数据集中,并且我遇到的问题是它将整个列作为错误的数据类型传递。它认为列是基于数字的,它应该是基于字符串的。我有很多行只是数字,然后只有少数是字母,1或2.我需要它将整个列视为字母而不是数字。

现在正在发生的事情是当它遇到这两行时,它将它们恢复为null并传入其他所有内容。我记得在某处读取excel通过前8列确定行类型,现在如果这是问题,是否有人知道如何禁用此功能并告诉它该列是字符串。

我试过:突出显示整个列>右键单击>格式>选定的文字,它仍然无效。

还尝试了:"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=" + FileUpload1.PostedFile.FileName.ToString() + ";Extended Poperties=Excel 8.0;HDR=Yes;IMEX=1"

并且:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileUpload1.PostedFile.FileName.ToString() + ";Extended Poperties=Excel 8.0;HDR=Yes;IMEX=1"

而且:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileUpload1.PostedFile.FileName.ToString() + ";Extended Properties=\"Excel 8.0;HDR=YES\";"; 我得到的错误是:错误[IM002] [Microsoft] [ODBC驱动程序管理器]找不到数据源名称,没有指定默认驱动程序

2 个答案:

答案 0 :(得分:0)

编辑行的第一个单元格,使其以撇号字符开头。我遇到了类似的问题,并且我记得它从单元格中的第一个值推断数据类型,这对我来说很有用。

答案 1 :(得分:0)

我已经使用DTG.excel解决了这个问题,这是一个需要购买的解决方案,但这是我能够在不使用ACE驱动程序的情况下完成此操作的唯一方法。