Php firefox将xlsx文件检测为97-2003工作簿(.xls),该工作簿将文件保存为example.xlsx.xls

Php firefox将xlsx文件检测为97-2003工作簿(.xls),该工作簿将文件保存为example.xlsx.xls,php,firefox,phpexcel,Php,Firefox,Phpexcel,我正在firefox中保存xlsx文件,浏览器将其识别为97-2003工作簿(.xls) 当我打开xls文件时,它会生成一个弹出窗口 我也曾在另一台机器上尝试过,它在firefox中运行良好,在firefox中,它将其检测为Microsoft Office Excel工作表(用于.xlsx) 我还尝试打开浏览器首选项,在内容类型列表的第二台计算机microsoft excel工作表的“应用程序”选项卡中找到了该首选项 但在第一台计算机中,内容类型列表仅包含microsoft excel

我正在firefox中保存xlsx文件,浏览器将其识别为97-2003工作簿(.xls)

当我打开xls文件时,它会生成一个弹出窗口

我也曾在另一台机器上尝试过,它在firefox中运行良好,在firefox中,它将其检测为Microsoft Office Excel工作表(用于.xlsx)

我还尝试打开浏览器首选项,在内容类型列表的第二台计算机microsoft excel工作表的“应用程序”选项卡中找到了该首选项

但在第一台计算机中,内容类型列表仅包含microsoft excel 97-2003工作表。这就是问题所在吗?如果是,请指导如何修复

还希望更新以下内容: Firefox的第一个机器版本是39.0.3 第二台机器的Firefox版本是40.0.2

编辑:

在代码中,我使用PHPExcel库生成excel文件,其中我将application/vnd.ms-excel作为mime类型传递到头部

header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\"example.xlsx\"");
header("Cache-Control: max-age=0");

如果这是问题所在,请告诉我?

应用程序/vnd.ms excel
BIFF
格式
.xls
文件的mime/内容类型

OfficeOpenXML
format
.xlsx
文件的mime/内容类型是
application/vnd.openxmlformats officedocument.spreadsheetml.sheet

Firefox只解释您在标题中发送的内容类型,这与您发送的文件的扩展名或格式不匹配

供PHPExcel参考

  • OfficeOpenXML格式文件

    • Excel2007
      Writer
    • .xlsx
      扩展
    • application/vnd.openxmlformats of cedocument.spreadsheetml.sheet
      content/mime类型
  • BIFF格式文件

    • Excel5
      Writer
    • .xls
      扩展
    • application/vnd.ms excel
      content/mime类型