【问题标题】:importing excel data into access将excel数据导入access
【发布时间】:2010-12-04 05:53:20
【问题描述】:

我的 VB.NET 应用程序正在使用将一些 excel 表导入访问

command.CommandText = "SELECT * INTO [MS Access;Database=" & current_db & "].[" & sheet_name & "] FROM [" & sheet_name & "$]"

问题是,如果我在 excel 中有一些带有绿色错误消息的单元格,它们不会在 access 中导入。 而且它们实际上采用相同的格式,它们没有前导 ' 但 excel 它表示数字格式为文本。

一个简单的方法是在 excel 中简单地纠正这个问题,但用户经常忘记这样做并且数据被跳过。

如何强制连接将指定列导入为数字?

【问题讨论】:

    标签: .net excel ms-access


    【解决方案1】:

    我认为没有办法告诉 Excel 引擎的 ODBC 将列强制转换为数据类型。它只查看前 7 行,并就该列的数据类型做出“智能”决定。当我进行大规模迁移时,我有代码“强制”将数据转换为正确的数据类型,执行上面提到的技巧,然后执行插入命令。但看起来this 总是一个替代方案。简而言之,您必须在将数据放入表格之前对其进行处理。

    【讨论】:

      【解决方案2】:

      我会这样做

      1. 在 Access 中,定义要导入的表结构(称为 YourNewStagingTable)(不要将此作为最终表 - 这纯粹是您的临时表(我通常在这里将所有字段定义为 TEXT)。
      2. 使用INSERT INTO YourNewStagingTable SELECT Columns FROM SpreadsheetPath
      3. 在此表上运行所有更正和数据验证
      4. 将数据从YourNewStagingTable 移动到FinalDataTable

      如果您仍然遇到数据类型转换问题,则必须更改文件的 ISAM 映射。

      【讨论】:

      • 该死,我使用的文件已经“转换为数字”列,不幸的是我仍然得到同样的东西。我的新连接字符串是 "INSERT INTO [MS Access;Database=" & current_db & "].[" & sheet_name & "] SELECT * FROM [" & sheet_name & "$] " _connection.Open() 我设置了列输入我感兴趣的文本,但它仍然没有获取数据。
      • 现在有点用了,我已将连接字符串修改为 _conn = "Provider=Microsoft.Jet.OLEDB.4.0;" &"数据源="&_文件名&";" & "Extended Properties= 'Excel 8.0;HDR=Yes;IMEX=1'" 但是现在我在 excel 中存储为数字的所有单元格都以科学格式导入到访问中(2.20507e+009 中的 2205070510)我不知道怎么能我在这里附上文件。
      • IMO,只要你得到数据,你就很好。当您从临时表移动到实际表时,您始终可以从一种格式转换为另一种格式
      • Excel 是出了名的难以处理,因此我们设置了一个流程,将 Excel 工作表导出为 CSV 文件,然后导入 MS Access
      • 我现在在进行实际转换时遇到了很多麻烦,我似乎找不到存储我的 10 位数字的数据类型,甚至 cdbl 都对其进行了四舍五入。
      【解决方案3】:

      您还可以通过复制和粘贴的方式将 Excel 数据导入 ms-access。 如果要处理的数据较少,也许这可能是一个更好的解决方案。

      【讨论】:

      • 看起来他正在尝试自动化流程而不是手动操作。
      • 完全正确,除此之外,我还在最终数据库中进行了大量查询以生成一些报告。这就是为什么我要制作一个应用程序,让用户免于手动粘贴数百个文件。
      • 您仍然可以使用宏自动执行复制和粘贴过程
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 2014-11-19
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 2014-01-31
      相关资源
      最近更新 更多