0

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

现在发生的事情是,当它遇到这 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\";"; 我在这里遇到的错误是:ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

4

2 回答 2

0

我已经使用 DTG.excel 解决了这个问题,它是一个需要购买的解决方案,但它是我能够做到这一点的唯一方法,而无需使用 ACE 驱动程序。

于 2013-06-24T13:28:50.707 回答
0

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

于 2013-06-19T18:48:27.253 回答