【发布时间】:2011-05-30 02:33:54
【问题描述】:
我正在寻找一种在 Excel 中打开使用 PHP 脚本创建的 CSV 文件的方法 - 以使 Excel 知道如何解析文件的方式。目前,当我双击使用 PHP 创建的 CSV 文件时,Excel 会在单个列中打开内容,因此它不会解析每一行。此外,如果我在 Excel 中执行 CTRL-O 并选择要打开的 CSV 文件,Excel 会启动一个向导,我可以在其中选择解析和编码选项。
是否有任何“标题”或标志字符可以添加到 PHP 中的 CSV 输出中,以让 Excel 知道如何打开文件?我知道,例如,为了让 Excel 处理 UTF8 编码,需要将 U+FEFF 字符作为第一个字符包含在 CSV 文件中,所以也许有类似的解析?
谢谢。
【问题讨论】:
-
你是如何编写 csv 文件的?
fputcsv()? -
Excel 不能很好地处理包含 UTF-8 字符的 csv 文件,而与任何 BOM 无关。通常,您需要使用 UTF-32LE BOM (\xFF\xFE\x00\x00) 并且文件的全部内容(包括逗号分隔符、任何附件和转义字符以及返回)都需要转换为单个 UTF -32LE 字符串。至少,如果您“另存为”CSV,这将逆转 Excel 本身使用的过程......我一直在尝试自己用 PHP 构建这样的文件,但到目前为止没有任何成功。
-
你解决了吗?
标签: php excel parsing encoding csv