Excel表格导入到Access,对双方格式设置有何要求
将Excel表格导入到Access时,需要谨慎仔细地准备双方的数据格式,以防操作出错。具体如下:
1. 准备Excel源数据
列数 要导入的源列数量不能超过 255,原因是 Access在一个表中支持的最大字段数为 255。
忽略行和列 在源工作表或命名区域中只包含要导入的行和列是一个好的做法。
行 您不能在导入操作过程中筛选或忽略行。
列 如果选择将数据添加到现有的表中,则不能在导入操作过程中忽略列。
表格形式 确保单元格采用表格形式。如果工作表和命名区域中包含合并单元格,单元格的内容将放在与最左列对应的字段中,其他字段留空。
空白行、列和单元格 删除工作表或区域中所有不必要的空白行列。如果工作表或区域包含空白单元格,请尝试在这些单元格中添加丢失的数据。如果准备将记录追加到现有的表中,请确保表中的对应字段可接受空(丢失或未知)值。如果一个字段的“必填字段”属性设置为“否”,并且它的“有效性规则”属性设置允许空值,则该字段将接受空值。
错误值 如果工作表或区域中的一个或多个单元格包含错误值(如 #NUM 和 #DIV),请先更正这些错误值,再开始导入操作。如果源工作表或区域包含错误值,Access
将在表中的对应字段内放置空值。有关改正这些错误的方法的详细信息,请参阅本文后面的丢失值或错误值的疑难解答一节。
数据类型 为了避免在导入过程中出现错误,请确保各个源列中每一行所包含的数据类型都是相同的。Access 会扫描前八个源行,以确定表中字段的数据类型。我们极力建议您确保前八个源行的任何列内都没有混合不同数据类型的值。否则,Access 可能无法向该列分配正确的数据类型。
此外,最好在开始导入操作前,先为 Excel 中的每个源列设置格式并为每一列指定特定的数据格式,这不失为一个好做法。如果列中存在数据类型不同的值,我们极力建议您设置格式。例如,工作表中的 FlightNo 列可能同时包含数字值和文本值(如 871、AA90 和 171)。为了避免丢失值或错误值,请执行以下操作:
右键单击该列标题,然后单击“设置单元格格式”。
在“数字”选项卡的“类别”下,选择一种格式。对于 FlightNo 列,您可能需要选择“文本”。单击“确定”。
如果为源列设置了格式,但源列中第八行以后的行中仍包含不同数据类型的值,则导入操作还是可能会跳过值或错误地转换值。有关疑难解答的信息,请参阅“丢失值或错误值的疑难解答”一节的内容。
第一行 如果工作表或命名区域的第一行包含列名,则可指定 Access 在导入操作中将第一行的数据视为字段名称。如果源工作表或区域不包含列名,最好在开始导入操作前将它们添加到源中。
提示
如果准备将数据追加到现有的表中,请确保每一列的名称与对应字段的名称完全匹配。如果列名与表中对应字段的名称不同,导入操作将失败。要查看字段的名称,请在
Access 的设计视图中打开表。
2. 准备Access目标数据库
在设计视图中打开目标表并查看以下各项:
第一行 如果源工作表或命名区域的第一行不包含列标题,请确保源工作表中的每一列的位置和数据类型与表中对应字段的位置和数据类型匹配。如果第一行包含列标题,列顺序与字段顺序不必匹配,但每一列的名称及数据类型必须与其对应字段的名称及数据类型完全匹配。
丢失字段或多余的字段 如果源工作表中一个或多个字段不在目标表中,请在开始导入操作之前添加它们。不过,如果表中包含了源工作表中不存在的字段,而这些字段接受的是空值,则不需要从表中删除这些字段。
提示 如果一个字段的“必填字段”属性设置为“否”,并且它的“有效性规则”属性设置允许空值,则该字段将接受空值。
主键 如果表中包含主键字段,那么源工作表或区域中必须有一列包含与主键字段兼容的值,并且导入的键值必须是唯一的。如果目标表中现已存在所导入记录中包含的主键值,导入操作将显示错误消息。
索引字段 如果表中字段的“索引”属性设为“是(不允许重复)”,那么源工作表或区域中的对应列必须包含唯一值。
重要提示:
通常执行追加操作过程中的大多数失败都是因为源数据与目标表的结构及字段设置不匹配,所以务必按照上面两个步骤仔细检查数据格式。
1、表中尽量不要用合并单元格
2、每一列要保存的是相同的数据类型
之外,再没有任何要求