PHP的Microsoft Excel文件生成/导出类
我一直在寻找一个良好的Excel文件生成类,但还没有find一个 – 我的头号问题是,虽然我可以得到导出文件打开Excel(运行2007年),我总是会得到一个警告说:“文件与文件扩展名格式不同“。
我注意到phpMyAdmin中的Excel导出甚至生成上述警告消息。
其他用户使用哪些代码来达到这个通用要求?
快速更新如果我将生成的Excel文件的文件扩展名设置为xml,它会在浏览器中打开(即使我发送了正确的标题),但如果select保存xml文件,然后从Excel打开它,没有任何警告! 不幸的是,对于用户来说,比单纯点击“随时继续”,我得到的警告更麻烦。 还有什么想法?
使用PEAR中的Spreadsheet_Excel_Writer
要么
将文件写入CSV格式 。
但是请使用Microsoft Excel对csv的了解:分号(;)作为分隔符
您还可以使用regedit来禁用对话框
[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security] “ExtensionHardening”=dword:00000000
- 开始 – >运行 – >registry编辑器
- 转到“HKEY_CURRENT_USER \ SOFTWARE \ MICROSOFT \ OFFICE \ 12.0 \ EXCEL \ SECURITY”
- 新的DWORD
- input“ExtensionHardening”作为名称,0作为值
我发现在我生成的Excel文件的xml声明下添加以下内容,可以确保Excel以xml文件扩展名(而不是Web浏览器)打开文件:
<?mso-application progid=\"Excel.Sheet\"?>
我也在php中设置下列标题:
// deliver header (as recommended in php manual) header('Content-Type: application/vnd.ms-excel; charset=UTF-8'); header('Content-Disposition: attachment; filename="' . $filename . '.xml"');
该文件的格式与文件扩展名不同
你有没有尝试保存与另一个文件扩展名的文件? 像“foo.xlsx”而不是“foo.xls”。