【发布时间】:2011-12-17 17:10:50
【问题描述】:
将 mysql 查询导出为 CSV(适用于 Excel 2003 及更高版本)的最佳和最干净的方法是什么?就测试、维护、可配置而言,“最佳”...因此(标准)PHP 库之类的东西将是理想的解决方案。
它应该正确处理外壳、转义、字符集、cr-lf、第一行中的字段名称, ...等
在 SO(如 this one)有几个问题,但没有一个真正关注我上面需要的属性。
我的一些想法:
- 使用
fputcsv? (但charset、转义和cr-lf貌似无法设置!) - 从 phpmyadmin 中提取一些代码...?
-
SELECT * INTO OUTFILE在我的服务器上不起作用(访问被拒绝) -
system("mysqldump ...")是不可能的(安全模式托管)
【问题讨论】:
-
嗯。我不太确定你想要什么。 CSV 文件不是 XLS 文件。它只是一个逗号(或分号)分隔的文件。这与 Excel 2003 没有太大关系。我不明白为什么上面链接的
answer中的“或”不能满足您的问题?您是否正在寻找开箱即用的解决方案?就像我说的,它只是一个 CSV.. 上面的解决方案负责转义,您需要做的就是添加“第一行中的字段名称” -
看到一个格式良好且经过研究的问题让我感到温暖。你有我的 +1。
-
感谢@Truth。我努力了:)
-
@Richard,我写了“csv for excel”,因为我猜 CSV 格式可能存在细微差别 - 在 PHPmyAdmin 中,您可以选择 CSV 和“CSV for MS Excel”...