【发布时间】:2013-06-19 18:32:08
【问题描述】:
我正在将 .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
【问题讨论】:
-
您在使用 AdoDB 阅读吗?这有帮助吗? stackoverflow.com/questions/16718739/…
-
我的连接字符串是:“Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=" + FileUpload1.PostedFile.FileName.ToString() - 如果你能告诉我如何附加它以包含那些家伙所说的内容将有很大帮助,我认为这将解决问题。我只是不知道这是否可以与我的连接字符串一起使用。如果您确实回答了这个问题,请将其作为答案发布,以便我将其标记为正确。
-
这看起来像一个 ODBC 连接字符串 -- 如果是这种情况,您可以转到运行它的机器上的 ODBC 数据源管理器,配置 Excel 驱动程序,展开选项,然后手动设置
Rows to Scan那里。 -
这将位于网络上的某个地方,许多电脑可能正在使用它。是否有另一个连接字符串可以解决我的问题?
-
关于您的第二个连接字符串,较新的机器不使用
Microsoft.Jet.OLEDB.4.0驱动程序,而是使用Microsoft.Ace.OLEDB.12.0。更多信息在这里:stackoverflow.com/questions/14401729/…