如何强制引用在每个字段中同时保存一个Excel工作表作为一个CSV文件?

这是我的情况。

data = "" & data & "" xlsheet.Range(crange).Value = data xlfile.SaveAs(FileName:=finalfilename, FileFormat:=6) 

这段代码放在数据周围,将数据放在范围内,并将一个工作表(xlsheet)的工作簿(xlfile)保存为csv文件。

如果我打开记事本中的csv文件,我发现下面这些

1.报价被删除
2.从数字中删除0

如何确保在以编程方式保存文件时存在引号? 提前致谢!

这条线没有做任何事情:

 ' Append empty strings on front and back (ie, do nothing). ' data = "" & data & "" 

尝试这个:

 ' Append double quotes on front and back. ' data = """" & data & """" 

这有帮助吗?


更新 :我可以在这里脱离基地,但我认为这个问题可能只是因为你没有足够的细粒度的控制Excel的保存CSV文件时正在做什么 。 我记得,默认情况下,它不会将值放在值的周围,除非需要限定一个可能包含数据的离散单元格,否则这些数据会混淆CSV格式。 例如,它在包含逗号的文本值的单元格周围加上引号。

据推测,它也可以将文本值中的单引号转换为CSV文件中的双引号,并将包含引号的文本值用引号括起来。

解决这个问题的最明显的方法就是简单地将数据保存到磁盘 。 通过这种方法,您可以在每个单元格周围手动放置引号,而不用担心Excel可能会在SaveAs调用中自动执行什么操作。

显然,这是烦人的,因为它更多的工作。 但这是目前我唯一想到的想法。 无论如何,这不应该是那么多的工作。

为什么不只是为需要引用的单元格使用自定义格式呢?

如果将自定义格式设置为单元格列,则所有值都将采用该格式。

对于数字….就像一个邮政编码….这将是这个'#'对于string文本,这将是这个'@'

将文件保存为csv格式,并根据需要将所有引号包围单元格数据。