excel - 将 EAN-13 从 Excel 导入 Access
问题描述
我需要将数据从 EXCEL 表导入 Access。但是 Access 访问将 EAN-13 导入为 Double(科学记数法)而不是字符串,因此丢失了最后一位数字。
我尝试通过 DoCmd.TransferSpreadsheet acImport ... 进行此导入。如果这样做,Access 将解释数据并分配数据类型。
1) 当您有一列包含前几行的空白字段和稍后的字符串数据时,这将导致问题。我通过在标题 (fieldNames) 之后添加一个额外的行来解决这个问题。在此填充的所需数据类型的数据中。这解决了字符串数据的问题。
2)但是我无法为 EAN-13 数据(包含 13 位数字的 EXCEL 字段)解决这个问题。EXCEL 将此序列存储为字符串。有时它会以科学计数法显示这个字符串值:“7340041127001”将变为“7.340041127e012”。但是,在那些时刻,提交的条目仍将显示“7340041127001” - 因此完整值保持不变。使用前导“'”甚至可以避免使用科学记数法。所以我认为Excel中的数据还可以。
如果我尝试将 EAN-13 数据从 Excel 导入到 Access,则会发生这种情况:“7340041127001”变为“7.340041127e012”。从“'7340041127001”导入有效,但编辑所有 Excel 字段真的很乏味!
我试图将 EAN-13 导入到预定义的空表中。但这不适用于 EAN:Excel 中的值将转换为字符串,但存储的值是“7.340041127e012”...
导入不需要完全自动,它将由经过培训的人员完成。
解决方案
1) 链接到 Excel 电子表格并使用“DoCmd.TransferSpreadsheet”似乎在 Access 2010 / Excel 2010 中的工作方式相同。访问表中字段的数据类型似乎不受 Excel 的“单元格格式”功能的影响,但是通过 Excel 中数据的前几个值(=前几行)。一 (1) 行不够,十四 (14) 行...
2) 如果前几行包含字符串数据和数字数据,Access 将为这些字段分配数据类型“文本”
3) 在 Excel 中为 EAN-13 字符串添加前缀将导致正确导入,但对我的数据不可行。我发现无法将 EAN-13 字符串直接导入访问表。然而
4) 在 Excel 中添加一列并使用以下函数将生成一个值,该值将正确导入:
=Text(D2; 0)
其中单元格 D2 包含 EAN-13 字符串。我对所有 2500 行都使用了这个公式。空的 EAN-13 字段将被分配一个值“0”——这不是一个有效的 EAN-13 值。这稍后将允许删除 Access 中不需要的值!
推荐阅读
- amp-html - Google amp 组件 amp-list 加载更多不起作用
- django - 如何使用 django rest framework_social_oauth2 允许从谷歌帐户注册?
- php - 在 Laravel 中删除图像时文件名太长
- reactjs - 如何只打开一个弹出框
- android - RxJava 带重放的多个网络请求
- angular - 如何在 typescript 中实现 wavesurfer-js
- javascript - 根据类别组合数组子类别的对象
- google-maps-api-3 - 如何在我的 Flutter APP 中使用谷歌地图网络服务 API
- javascript - 如何为某些元素启用上下文菜单
- reactjs - 如何将 React 构建文件夹部署到 Heroku