CSV文件导入奇怪:仅在Excel中重新导入时导入

时间:2011-04-07 07:25:21

标签: php drupal csv import

我对我尝试导入MYOB的csv(.txt)文件的内容感到有些眼花缭乱。使用Drupal CMS,以及视图和视图奖励模块,我能够快速获得一个源,它将获得所需的字段并将它们放入csv(制表符分隔)的txt文件中。

这是发生奇怪问题的地方。如果我尝试将文件直接导入MYOB程序,则只会跳过记录,因为显然字段与myob文件中的数据不匹配(“购买时的税码”字段)。但是,如果我在Excel中打开txt字段,然后重新保存文件(不更改任何内容,没有任何内容),然后在Myob中导入,一切都可以正常工作。

我查看了源代码以检查Content-Type和Content-disposition标头,但它们都没问题。

header('Content-type:text / csv; charset = utf-8'); header('Content-disposition:attachment; filename =“[thefilename] .txt”');

我已经检查过以确保从字段中删除空格和换行符等。

有没有人知道这里可能出现的问题?我应该检查什么?解决方法有效,但只是引入了一个额外的“不必要”过程。

非常感谢提前。

迈克尔。

2 个答案:

答案 0 :(得分:1)

请参阅CSV-1203 File Format Specification。具体来说,请参阅附加A 使用Excel时的已知问题”,其中说明了Excel如何在不告诉您的情况下损坏数据。

这可能与你的痛苦无关,但我希望这个链接无论如何都有帮助。

答案 1 :(得分:0)

我建议Drupal使用unix样式的行结尾(http://en.wikipedia.org/wiki/Newline),并且Excel中的打开和保存会将这些更改为MYOD使用的Windows样式行结尾。