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

时间:2009-04-07 18:28:52

标签: excel csv import

注意:这个问题几乎是的欺骗行为:

stop Ms Excel auto-formatting numeric strings as numbers

我说“差不多”,因为这个具体问题没有被问到......

问题: 在Excel导入之前,有没有办法将“架构”附加到CSV文件,这样可以让Excel了解CSV文件的正确格式,而无需要求post-处理CSV文件而不需要最终用户干预,以便手动正确格式化字段?

通过模式,我指的是生成基于文本的定义的任何方法,可以将其保存在客户X的计算机上的某个位置,然后在必须进行常规CSV导入时引用,包括但不限于XSD,VBMacro或Excel对此类操作的任何约定(如果有的话)。

背景 当从纯文本(例如CSV文件)打开输入数据时,Excel习惯于“有用”。

有关此含义的示例,请参阅以下各种链接中的任何一个:

    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/

我们经常要向客户X发送CSV文件,我们无法直接修改CSV文件,以便将它们“变形”为Excel将完全按预期呈现的格式。

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

3 个答案:

答案 0 :(得分:1)

在遇到此问题时我所做的是在导入后创建一个宏来“解锁”Excel的修复程序。这不是一个很好的解决方案,但它是一种有效的解决方法。

答案 1 :(得分:0)

我担心我没有完全跟随。您说您发送了CSV文件,但是您无法修改CSV文件?所以你没有产生它们?在将它们发送给客户之前,您无法处理它们吗?

虽然我觉得很难想象出这种情况,但我认为情况就是如此。您是否有机会让客户运行脚本而不是直接启动Excel?例如,是否可以培训他们双击VBScript而不是双击CSV或使用从Excel打开?

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

答案 2 :(得分:0)

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

Zip,=“00123”等

这将在Excel中呈现为:

Zip | 00123 |等