强制excel停止对csv导入数据应用“自动更正”

注意:这个问题几乎是一个骗局:

停止Ms Excel将数字string自动格式化为数字

我说“几乎”,因为这个具体的问题没有被问到

问题:在Excel导入之前,是否可以将“模式”附加到CSV文件中 ,以便Excel能够理解CSV文件的正确格式, 而不需要对CSV文件进行后处理,也不需要terminal用户干预为了正确地手动格式化字段?

我的意思是任何生成基于文本的定义的方法,这些定义可以保存在客户X机器的某个地方,然后在通常的CSV导入必须进行时被引用,包括但不限于XSD,VBMacro或其他任何约定Excel有这种操作(如果有的话)。

背景:从CSV文件等纯文本打开时,Excel有修改input数据的“有用”习惯。

有关这方面的内容的示例,请参阅以下任何链接:

http://ask.metafilter.com/28449/Preventing-Excel-applying-time-formatting-to-imported-data http://excel.tips.net/Pages/T002588_Handling_Leading_Zeros_in_CSV_Files.html http://social.msdn.microsoft.com/Forums/en-US/isvvba/thread/aae07b39-865f-4c68-a07f-7cad2dfd6733 http://social.msdn.microsoft.com/forums/en-US/vsto/thread/80285088-b476-418f-9613-a2c499c8da7b/ 

我们经常需要将CSV文件发送给客户X,而我们并不需要直接修改CSV文件,以便将这些文件“变形”为Excel将按照预期呈现的格式。

而且,客户X并不总是有经过Excel培训的人员才能正确进行导入。

面对这个问题时我所做的是创build一个macros来导入后,“解决”Excel的修复。 这不是一个好的解决scheme,但它是一个可行的解决方法。

恐怕我不完全跟随。 你说你发送CSV文件,但你不能修改CSV文件? 所以你不生成它们? 在发送给客户之前,您无法处理它们?

虽然我很难想象这样的情况,但我会认为是这样。 有没有可能让客户运行脚本而不是直接启动Excel? 例如,他们是否可以接受双击VBScript的培训,而不是双击CSV或使用Open from Excel?

考虑到你所描述的限制条件,这是我能想到的最接近的,但是我不禁想到,在离开你的手并进入顾客之前,你必须做更多的事情。

这里是另一个答案,用引号重新格式化数据如下:

Zip,=“00123”等

这将在Excel中呈现为:

Zip | 00123 | 等等