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

Man*_*ock 4 php firefox phpexcel

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

当我保存我的文件

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

在此输入图像描述

我也在不同的机器上试过这个,它在firefox中工作正常,它将它检测为Microsoft Office Excel工作表(用于.xlsx)

在此输入图像描述

我也尝试打开我在内容类型列表中的第二台机器microsoft excel工作表的应用程序选项卡中找到的浏览器首选项

在此输入图像描述

但在第一台机器内容类型列表中只包含microsoft excel 97-2003工作表.这是问题吗?如果是,请指导如何解决这个问题?

还想更新一下:First Machine Firefox版本是39.0.3 Second Machine 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");
Run Code Online (Sandbox Code Playgroud)

如果这是问题,那么请告诉我?

Mar*_*ker 6

application/vnd.ms-excelBIFF格式.xls文件的mime/content类型.

OfficeOpenXML格式.xlsx文件的mime/content类型是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

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

供PHPExcel参考

  • OfficeOpenXML格式文件

    • Excel2007 作家
    • .xlsx 延期
    • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 内容/ mime类型
  • BIFF格式文件

    • Excel5 作家
    • .xls 延期
    • application/vnd.ms-excel 内容/ mime类型