使用逗号分隔符将文本文件转换为csv

时间:2019-01-03 02:05:48

标签: excel vba excel-vba batch-file wmic

我正在尝试从用户组中检索数据并将其导出到Excel中。因此,我能够将用户等导入文本文件,但是将其转换为excel必须手动(在excel中打开文本文件,然后执行文本导入向导并选择逗号作为分隔符)。有没有一种方法可以自动执行此过程,从而可以使用批处理文件将数据导出到具有指定分隔符的Excel中? 这是我用于检索用户组的代码(相当简单的代码)

start wmic /output:C:\Users\John\Desktop\automation\useraccounts.txt useraccount list full /format:csv
END

如果我尝试将其导出到useraccounts.csv,则所有数据将仅在第一列中。 single column

1 个答案:

答案 0 :(得分:1)

有一个undocumented trick可以告诉excel,哪个字符用作分隔符。您可以使用它:

echo SEP=,>"C:\Users\John\Desktop\automation\useraccounts.csv"
wmic /append:"C:\Users\John\Desktop\automation\useraccounts.csv" useraccount list full /format:csv

当您打开它时,Excel将知道(从第一行SEP=,开始)用,分隔列,而与默认语言设置无关(某些本地化默认使用,分隔符,其他使用;)。 WMIC使用,作为列定界符,但显然您的Excel希望使用;

注意:SEP=,行是文件的一部分,但不属于电子表格的一部分。因此,当您从Excel保存文件时,它将丢失。