如何从Access正确导出到utf-8 csv,解决格式问题

时间:2018-12-29 16:21:37

标签: csv ms-access export-to-csv

问题:希望直接从MS Access 2016导出到UTF-8 csv文件,但是存在格式问题。从Access导出到Excel,然后手动另存为UTF-8 CSV文件的文件可以正常工作,但是我想消除用户创建csv文件必须执行的额外步骤。

CSV文件的布局由我们向其提供数据的组织决定。

我们拥有一个我们分发的Access 2016音乐CD数据库。第一列是“艺术家”,其格式为姓氏,名字(例如:Presley,Elvis)。从Excel保存到csv后,Excel知道使用双引号将其格式化:“ Presley,Elvis”。
接下来的几列是基本信息,例如UPC,产品目录号,价格。这些不应用双引号引起来。

一列是日期,格式为m-DDD-yy(示例31-Dec-18)。这样可以正确导出到Excel,并在从Excel保存到UTF-8 csv时也可以正确格式化。

最后一栏是描述,其内在可能会包含双引号(例如:“猫王是传奇”,简·多伊说)。从Excel保存到UTF-8 csv后,它会正确转换为三重双引号(“”” Elvis is Legend,”””)。当然,该字段必须用双引号引起来。

返回Access,在设置导出模板时,可以选择是否包含分隔符,但没有条件。可以将日期设置为dmy,但不能使用三个字母的缩写。此外,它还带有时间戳0和4位年份的日期。系统不会自动在现有报价周围添加多余的报价。 我已经创建了一个表,用于在导出到excel之前将这些数据临时存储在访问中,以允许导出整个描述。否则,它将被截断为255个字符。我想我可以将日期字段设为文本字段,然后将数据另存为格式化的文本。我想我可以在Artist领域做同样的事情。说明字段有问题。

当Excel设计师弄清楚了Access为何会变得如此困难?有没有一种方法可以编辑导出规范,而无需每次都经过向导,而是仔细复制我创建的导出规范?

问题似乎出在出口规格中。唯一的实际代码是:

DoCmd.TransferText acExportDelim, "UTF8 Full Catalog Export Specification", "FullCatalogListing", "C:\Temp\FCLTest.csv", True, , 65001

0 个答案:

没有答案