在许多欧盟国家,逗号','用作小数点分隔符,而在美国用点''。使用。
CSV(逗号分隔值)文件应该使用逗号分隔单元格值。但是,通常会使用制表符'\ t'或其他字符。
有趣的是,Excel如果使用逗号作为小数分隔符在欧盟国家/地区使用Microsoft Excel保存.csv文件,则用于分隔单元格值的值不是转义的逗号,而是分号“;”。在网上看来,如果你在美国,Excel会使用正确的逗号保存.csv文件(我无法验证这一点)。
我正试图找到一种方法来创建一个可以被Excel识别的csv文件,无需用户操作,无论是在欧盟还是美国。
以下是使用带有意大利语语言环境的Excel的示例
以上,保存为.csv(MS-DOS),转换为
foo;foo bar;
foo'bar;"foo""bar";
foo,bar;foo.bar;
foo:bar;"foo;bar";
foo/bar;foo\bar;
"foo
bar";foo|bar;
foo;bar;foobar
this is to make the empty line appear
根据本地“列表分隔符”,可能无法正确识别。
I've read新Excel 2013需要将sep=;
设置为第一行才能正常工作。这是一个丑陋的黑客,但它似乎也适用于Excel 2010(除了它在保存时被覆盖)...
如果您将其保存为csv,上述文本是否适合您?
是否有一种不太常见的方法告诉Excel哪个字符是单元格分隔符,而无需用户进行设置?
感谢。
答案 0 :(得分:0)
时间回到视觉之前的某个时间,并从过去获取命令。它将涉及您使用VBA手动编写文件,但它具有您期望的标准:Write
Open "c:\tmp\myfile.csv" for output as #1
for i=1 to 100
write #1,range("A"&i),range("B"&i),range("C"&i)
next i
close #1
你必须做一些手工工作 - 它不会将单引号翻译成双引号,但其余部分是按照需要: