本主题介绍如何在 Microsoft Access 中使用“导出向导”导出文本文件。
你想要做什么?
了解导出文本文件
可以将数据以多种格式从 Access 中导出,包括 Excel、Word 和 SharePoint 列表。 但是,你可能需要将数据导出到使用 Access 不支持的文件格式的程序。 在这种情况下,如果目标程序可以使用文本 (.txt) 文件,则可以先将数据以该格式导出,然后使用目标程序打开所得到的文件。
可以将表、查询、窗体和报表导出为文本文件。 还可以导出数据表视图中的所选部分。 导出表和查询时,可以选择导出整个对象或只导出不带任何其他格式的数据。
操作结束时,Access 会创建一个文本文件 (*.txt)。 如果要忽略格式,则可以选择创建 带分隔符的文本文件 或 定宽文本文件。 如果选择导出带格式的数据,Access 会尝试使用与源对象近似的布局。
“导出向导”可创建以下类型的文本文件:
-
带分隔符的文件 在带分隔符的文件中,每个记录都出现在其自己的行上,字段由称为分隔符的单个字符分隔。 分隔符可以是未出现在字段值中的任何字符,例如逗号或分号。
1,Company A,Anna,Bedecs,Owner
2,Company C,Thomas,Axen,Purchasing Rep 3,Company D,Christina,Lee,Purchasing Mgr. 4,Company E,Martin,O’Donnell,Owner 5,Company F,Francisco,Pérez-Olaeta,Purchasing Mgr. 6,Company G,Ming-Yang,Xie,Owner 7,Company H,Elizabeth,Andersen,Purchasing Rep 8,Company I,Sven,Mortensen,Purchasing Mgr. 9,Company J,Roland,Wacker,Purchasing Mgr. 10,Company K,Peter,Krschne,Purchasing Mgr. 11,Company L,John,Edwards,Purchasing Mgr. 12,Company M,Andre,Ludo,Purchasing Rep 13,Company N,Carlos,Grilo,Purchasing Rep只有在不带格式导出表或查询的内容时才能选择创建带分隔符的文件。 带分隔符的文件包含基础对象中的所有记录和字段。 隐藏列和已筛选的行将随其他所有数据一同导出。
-
固定宽度文件 在固定宽度文件中,每个记录显示在单独的行上,并且每个字段的宽度在记录之间保持一致。 换句话说,每条记录的第一个字段的长度可能始终为 7 个字符,每条记录的第二个字段的长度可能始终为 12 个字符,依此而行。 如果字段的实际值因记录而异,则小于所需宽度的值将用尾随空格填充。
1 Company A Anna Bedecs Owner
2 Company C Thomas Axen Purchasing Rep 3 Company D Christina Lee Purchasing Mgr. 4 Company E Martin O’Donnell Owner 5 Company F Francisco Pérez-Olaeta Purchasing Mgr. 6 Company G Ming-Yang Xie Owner 7 Company H Elizabeth Andersen Purchasing Rep 8 Company I Sven Mortensen Purchasing Mgr. 9 Company J Roland Wacker Purchasing Mgr. 10 Company K Peter Krschne Purchasing Mgr. 11 Company L John Edwards Purchasing Mgr. 12 Company M Andre Ludo Purchasing Rep 13 Company N Carlos Grilo Purchasing Rep只有在不带格式导出表或查询的内容时才能选择创建固定宽度的文件。 固定宽度的文件包含基础对象中的所有记录和字段。 隐藏列和已筛选的行将随其他所有数据一同导出。
-
格式化文件 在格式化文件中,连字符 ( ) 和管道字符 (|) 用于在网格中组织内容。 记录显示为行,字段显示为列。 字段名称显示在第一行中。
--------------------------------------------
| ID | E-mail Address | -------------------------------------------- | 1 | nancy@northwindtraders.com | -------------------------------------------- | 2 | andrew@northwindtraders.com | -------------------------------------------- | 3 | jan@northwindtraders.com | -------------------------------------------- | 4 | mariya@northwindtraders.com | -------------------------------------------- | 5 | steven@northwindtraders.com | -------------------------------------------- | 6 | michael@northwindtraders.com | -------------------------------------------- | 7 | robert@northwindtraders.com | -------------------------------------------- | 8 | laura@northwindtraders.com | -------------------------------------------- | 9 | anne@northwindtraders.com | --------------------------------------------只有在选择带格式导出表、查询、窗体或报表中的数据时才能选择创建带格式的文件。 带格式的文件仅包括包含在源对象中或显示在当前视图中的记录和字段。 隐藏列和已筛选的行将不会被导出。
将数据导出到文本文件
将数据导出为文本文档的过程分为以下几大步骤:
-
打开并查看源数据库
-
运行“导出向导”
-
保存导出设置并查看文本文件
以下几组小步骤说明了如何执行每个任务。
打开并查看源数据库
-
在 Access 中打开源数据库。
-
在“导航窗格”中,选择包含要导出数据的对象。 可以导出表、查询、窗体或报表。
注意: 在单个导出操作中只能导出一个数据库对象。 导出包含子窗体或子数据表的窗体或数据表时,仅会导出主窗体或主数据表。 对于想要在文本文件中查看的每个子窗体和子数据表,必须对它们重复执行导出操作。 另一方面,导出报表时,报表中所含的子窗体和子报表会随主报表一同导出。
-
检查源数据,确保它不包含错误指示器或错误值。
如果数据中包含错误,请确保先解决这些错误,然后再导出数据。 否则,文本文件中会出现 null 值。
-
如果源对象是表或查询,请决定是带此对象的格式导出数据还是不带格式导出。
此决定会在以下三方面影响所得到文件 - 此过程创建的文本文件类型、导出的数据量,以及数据的显示格式。 下表介绍了带格式导出数据和不带格式导出的结果。
带格式导出
源对象
所得到的文件类型
字段和记录
格式
否
必须是表或查询。
带分隔符的文件或固定宽度的文件
导出基础对象中的所有字段和记录。
导出操作过程中会忽略“格式”属性设置。
对于查阅字段,仅会导出查阅 ID 值。
是
可以是表、查询、窗体或报表。
带格式的文件
仅导出当前视图或源对象中显示的字段和记录。
向导会保留每一列的“格式”属性设置。
RTF 格式会被忽略。
对于查阅字段,会导出查阅值。
超链接可能会在文本文件中被截断。
-
若要仅导出表、查询或窗体的一部分,请在数据表视图中打开对象,然后仅选择所需的记录。
运行“导出向导”
-
在 Access 导航窗格中,右键单击源对象,指向“导出”,然后单击“文本文件”。 也可以在导航窗格中突出显示源对象,然后在“外部数据”选项卡上的“导出”组中单击“文本文件”以启动“导出 - 文本文件”向导。
Access 随即打开“导出 - 文本文件”对话框。
-
在“导出 - 文本文件”对话框中,接受或更改 Access 建议的文本文件名称。
-
在导出表或查询时,如果想要带格式和布局导出数据,请选中“导出数据时包含格式和布局”复选框。 如果要导出窗体或报表,此选项会始终处于选中状态,但会显示为灰色。
注意: 如果没有选中第一个复选框,则无法选择第二个或第三个复选框。
-
若要在导出操作完成后查看目标文本文件,请选中“完成导出操作后打开目标文件”复选框。
-
如果源是数据表,并且在导出操作开始前已在打开的数据表中选择了一些记录,则可以选择“仅导出所选记录”复选框。 但是,如果想要导出数据表视图中的所有记录,请将此复选框保留为未选中状态。
注意: 如果未选择源数据表中的任何记录或者如果源不是数据表,此复选框则不可用(呈灰显状态)。
-
单击“确定”。
-
如果步骤 2 中指定的文本文件已存在,Access 会提示覆盖该文件。 单击“是”进行覆盖,或者单击“否”返回到“导出 - 文本文件”对话框以指定一个不同的名称。
重要: 不能将数据追加到现有文本文件中。
-
如果要带格式和布局导出数据,系统会要求你选择用于保存文件的编码。 接受默认选项或选择所需选项,然后单击“确定”。
Access 会导出数据,并且在向导的最后一页上显示状态。
-
如果选择不带任何格式或布局导出数据,“导出文本向导”将启动,并提示你选择要创建的文本文件类型。 单击“带分隔符”或“固定宽度”,然后单击“下一步”。
所做的选择通常取决于处理导出文件的系统。 某些程序仅支持带分隔符的文件,某些程序则可以支持带分隔符或固定宽度的文件。 如果用户需要仔细查看数据,固定宽度的文件比带分隔符的文件更易于阅读。
-
请根据在上一步骤中所做出的选择执行下列操作之一:
-
带分隔符
-
在“请选择字段分隔符”下,选择或指定分隔字段的字符 - 制表符、分号、逗号、空格或其他字符。
-
若要在文本文件中包括字段名称,请选中“第一行包含字段名称”复选框。
-
在“文本限定符”列表中,选择文本限定符(用于将文本值括起来的字符)。 如果源数据中包含多值字段并且已选择了分号作为分隔字符,请务必选择一个文本限定符,因为使用单引号或双引号将值列表括起来有助于将值保持在值列表中。
-
-
固定宽度
-
查看并调整分隔字段的垂直线条的位置。 如有必要,请滚动到右侧以查看所有字段。
-
-
-
在向导的最后一页上,可以编辑文本文件的文件名和路径,或直接按原样保留,然后单击“下一步”。
-
单击“完成”。 Access 会导出数据,并且在向导的最后一页上显示导出操作的状态。
有关导出的其他需知内容
-
有关如何将导出的详细信息保存到可稍后使用的规范中,请参阅将导入或导出操作的详细信息另存为规范一文。
-
有关如何运行已保存的导出规范的信息,请参阅运行保存的导入或导出操作。
-
若要了解如何计划在特定时间运行规范,请参阅计划导入或导出操作一文。
-
有关如何更改规范名称,删除规范或更新规范中源文件名的相关信息,请参阅管理数据任务一文。
解决文本文件中的值丢失和值错误的问题
下表介绍了解决常见错误的各种方法。
提示: 如果发现只有少数值丢失,则可在 Excel 文件中修复它们。 否则,请在 Access 数据库中修复源对象,然后重复导出操作。
问题 |
说明 |
字段名称丢失 |
在固定宽度的文件中,字段名称丢失。 手动将它们添加到文本文件。 如果在向导中选择“第一行包含字段名称”复选框,字段名称则会包括在带分隔符的文件中。 |
多值字段的显示 |
默认情况下,支持多个值的字段会被导出为值列表,其中每个值由分号 (;) 分隔,并且括在双引号 ("") 中。 如果已将分号设置为字段分隔符并已将文本限定符更改为“无”,多值列表中的每个值则可能显示为属于单个字段。 更改分隔符设置并再次运行导出操作,或手动使用双引号在文本文件中将多值字段的值括起来。 |
图片、对象和附件丢失 |
不会导出图形元素(如源数据中的徽标、OLE 对象字段的内容以及附件)。 |
图形丢失 |
在导出包含 Microsoft Graph 对象的窗体或报表时,该图形对象不会被导出。 |
表达式丢失 |
用于计算值的表达式不会被导出到文本文件中。 仅导出表达式的计算结果。 在导出操作完成后手动将公式添加到文本文件中。 |
子窗体和子数据表丢失 |
导出窗体或数据表时,将只导出主窗体或主数据表。 对于要导出的每个子窗体和子数据表,请对它们重复执行导出操作。 |
值 1 和 0 显示在“是/否”字段中 |
将数据导出到带分隔符或固定宽度的文件中时,“是/否”字段中的值显示为“1”(True 或是)和“ 0”(False 或否)。 在文本文件中,执行“搜索和替换”操作以更正这些值。 |
Null 值 |
检查源文件以查看相应的值是否正确地显示在源字段中。 如果看到错误值或不受支持的值,请更正源,然后重试导出操作。 |