【问题标题】:Excel Passes wrong column type when being read into datasetExcel在读入数据集时传递错误的列类型
【发布时间】: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/…

标签: excel dataset


【解决方案1】:

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

【讨论】:

  • 不行,数值是随机生成的,有时单元格中不会出现撇号。
  • 在这种情况下,请查看此处提到的注册表更改...stackoverflow.com/questions/2567673/…
  • 我不能去更改每个来使用这个网站的人的注册表。
  • 首先,您没有在 OP 中提及这是一个站点、客户端应用程序还是仅供一个人使用的实用程序。更好的问题得到更好的答案。其次,注册表更改只需要在执行导入的服务器上进行,而不是在客户端上进行。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 2023-03-17
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    相关资源
    最近更新 更多