将 EAN-13 从 Excel 导入 Access
Import EAN-13 from Excel into Access
我需要将数据从 EXCEL-Sheet 导入到 Access。但是,Access 访问将 EAN-13 导入为 Double(科学记数法)而不是字符串,因此丢失了最后的数字。
我尝试通过 DoCmd.TransferSpreadsheet acImport .... 执行此导入操作。如果我这样做,Access 将解释数据并分配数据类型。
1) 当您有一列包含前几行的空白字段和后面的字符串数据时,这将导致问题。
我通过在标题 (fieldNames) 之后添加一行来解决这个问题。在此填充所需数据类型的数据。这解决了字符串数据的问题。
2) 但是我无法解决 EAN-13 数据(包含 13 位数字的 EXCEL 字段)的问题。 EXCEL 将此序列存储为字符串。有时它会用科学计数法显示这个string-value:“7340041127001”会变成“7.340041127e012”。然而,提交的条目在那些时刻仍将显示“7340041127001”——因此完整值保持不变。使用前导“'”甚至可以避免科学记数法。所以我觉得Excel里面的数据是可以的
如果我尝试将 EAN-13 数据从 Excel 导入到 Access,将会发生这种情况:“7340041127001”变为“7.340041127e012”。从“'7340041127001”导入是可行的,但是编辑所有 Excel 字段真的很乏味!
我试图将 EAN-13 导入预定义的空 table。但这不适用于 EAN:来自 Excel 的值将转换为字符串,但存储的值为“7.340041127e012”...
导入不需要全自动,由经过培训的人员完成。
为数字和零小数对 Excel 中的列应用一种格式。
或通过在单元格值前加上引号强制单元格转为文本:
7340041127001 -> '7340041127001
我都可以使用 Office 365 和 链接 Excel sheet。
然后使用查询将数据转换并附加到目标 table。
1) 链接到 Excel-电子表格并使用 'DoCmd.TransferSpreadsheet' 似乎在 Access 2010 / Excel 2010 中相同。访问 table 中字段的数据类型似乎不受 Excel 的 'Format Cell' 功能的影响,而是受到 [=24] 中数据的前几个值(=前几行)的影响=].一 (1) 行不够,十四 (14) 行...
2) 如果前几行包含字符串数据和数字数据,Access 将为这些字段分配数据类型 'Text'
3) 在 Excel 中为 EAN-13 字符串添加前缀将导致正确导入,但对我的数据不可行。我发现无法将 EAN-13 字符串直接导入访问 table。不过
4) 在 Excel 中添加一列并使用以下函数将生成一个值,该值将被正确导入:
=Text(D2; 0)
其中单元格 D2 包含 EAN-13 字符串。我对所有 2500 行都使用了这个公式。空的 EAN-13 字段将被分配一个值“0”——这不是有效的 EAN-13 值。这将允许稍后删除 Access 中不需要的值!
我需要将数据从 EXCEL-Sheet 导入到 Access。但是,Access 访问将 EAN-13 导入为 Double(科学记数法)而不是字符串,因此丢失了最后的数字。
我尝试通过 DoCmd.TransferSpreadsheet acImport .... 执行此导入操作。如果我这样做,Access 将解释数据并分配数据类型。
1) 当您有一列包含前几行的空白字段和后面的字符串数据时,这将导致问题。 我通过在标题 (fieldNames) 之后添加一行来解决这个问题。在此填充所需数据类型的数据。这解决了字符串数据的问题。
2) 但是我无法解决 EAN-13 数据(包含 13 位数字的 EXCEL 字段)的问题。 EXCEL 将此序列存储为字符串。有时它会用科学计数法显示这个string-value:“7340041127001”会变成“7.340041127e012”。然而,提交的条目在那些时刻仍将显示“7340041127001”——因此完整值保持不变。使用前导“'”甚至可以避免科学记数法。所以我觉得Excel里面的数据是可以的
如果我尝试将 EAN-13 数据从 Excel 导入到 Access,将会发生这种情况:“7340041127001”变为“7.340041127e012”。从“'7340041127001”导入是可行的,但是编辑所有 Excel 字段真的很乏味!
我试图将 EAN-13 导入预定义的空 table。但这不适用于 EAN:来自 Excel 的值将转换为字符串,但存储的值为“7.340041127e012”...
导入不需要全自动,由经过培训的人员完成。
为数字和零小数对 Excel 中的列应用一种格式。
或通过在单元格值前加上引号强制单元格转为文本:
7340041127001 -> '7340041127001
我都可以使用 Office 365 和 链接 Excel sheet。
然后使用查询将数据转换并附加到目标 table。
1) 链接到 Excel-电子表格并使用 'DoCmd.TransferSpreadsheet' 似乎在 Access 2010 / Excel 2010 中相同。访问 table 中字段的数据类型似乎不受 Excel 的 'Format Cell' 功能的影响,而是受到 [=24] 中数据的前几个值(=前几行)的影响=].一 (1) 行不够,十四 (14) 行...
2) 如果前几行包含字符串数据和数字数据,Access 将为这些字段分配数据类型 'Text'
3) 在 Excel 中为 EAN-13 字符串添加前缀将导致正确导入,但对我的数据不可行。我发现无法将 EAN-13 字符串直接导入访问 table。不过
4) 在 Excel 中添加一列并使用以下函数将生成一个值,该值将被正确导入:
=Text(D2; 0)
其中单元格 D2 包含 EAN-13 字符串。我对所有 2500 行都使用了这个公式。空的 EAN-13 字段将被分配一个值“0”——这不是有效的 EAN-13 值。这将允许稍后删除 Access 中不需要的值!