excel打开php生成的csv文件出现:打开文件时的“SYLK: 文件格式无效”错误
在微软的网站上有一段解释:
http://support.microsoft.com/kb/215591
当您试图打开一个文本文件或逗号分隔变量 (CSV) 文件时,可能会出现以下错误消息:SYLK: 文件格式无效
错误原因是:如果您打开的是一个文本文件或 CSV 文件,并且文件的前两个字符是字母 ID(大写),上述问题就会发生。
例如,文本文件可能包含以下文字:
ID, STATUS
123, open
456, closed
使用php生成csv文件,以“ ID_xxxx 打头”打头,出现打开文件时的“SYLK: 文件格式无效”错误可以这样解决
可以用双引号包括起来,避免这个错误.
eg:
echo "\"ID_xxxx\"";
更多信息
SYLK 文件实际上是一个以 ID 或 ID_xxxx 打头的文件,其中 xxxx 是一个文本字符串。 SYLK 文件的第一条记录是 ID_Number 记录。 如果 Excel 识别出文本文件开始处有这样文字的,它就认为文件是 SYLK 文件。 Excel 试图从 SYLK 格式转换该文件,却做不到,因为接着 ID 并没有有效的 SYLK 代码。 正是因为 Excel 无法转换文件,才会产生上述错误。
SYLK错误的解决方法:
微软的网站上这样说的:正文第一行的开始处插入一个撇号。但是我发现撇号会被输出到csv中,我尝试在第一行前面加了一个空格而不是撇号,测试通过.
如何插入撇号
要在文件的正文第一行开始处添加一撇号,请遵循以下步骤:
| 1. |
在开始菜单上,单击运行。 键入 Notepad,然后按 ENTER。 |
| 2. |
在“记事本”程序中,打开您的文本文件。 按 CTRL+HOME,转到正文第一行的第一个字符。 按键盘上的撇号键 (')。 |
| 3. |
在文件菜单上,单击保存。 退出“记事本”。 |
| 4. |
现在,您就可以从 Excel 中打开该文件了。 |