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”。