为excel文档设置mime类型

早过忘川 提交于 2020-03-07 14:33:51

MS Excel具有以下观察到的MIME类型:

  • application/vnd.ms-excel (官方)
  • application/msexcel
  • application/x-msexcel
  • application/x-ms-excel
  • application/x-excel
  • application/x-dos_ms_excel
  • application/xls
  • application/x-xls
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (xlsx)

是否有任何一种适用于所有版本的类型? 如果没有,我们是否需要分别为这些mime类型中的每一个设置response.setContentType()

此外,我们在应用程序中使用文件流来显示文档(不仅仅是excel - 任何类型的文档)。 这样做,如果用户选择保存文件,我们如何保留文件名 - 目前,呈现文件的servlet名称显示为默认名称。


#1楼

我在这里唤醒了一个旧线程,但我觉得有必要添加“新”.xlsx格式。

根据http://filext.com/file-extension/XLSX,.xlsx的扩展名为application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 。 在检查mime类型时包含它可能是个好主意!


#2楼

如果要以xlsx格式提供excel文件,则应始终使用以下MIME类型

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 

#3楼

我相信Excel文件的标准MIME类型application/vnd.ms-excel

关于文档的名称,您应该在响应中设置以下标题:

header('Content-Disposition: attachment; filename="name_of_excel_file.xls"');

#4楼

对于在使用问题中列出的所有可能MIME类型后仍然遇到此问题的任何人:

我发现iMacs也倾向于为XLS Excel文件抛出MIME类型“text / xls”,希望这会有所帮助。


#5楼

我从.NET代码设置MIME类型如下 -

File(generatedFileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")

我的应用程序使用OpenXML SDK生成excel。 这种MIME类型有效 -

vnd.openxmlformats-officedocument.spreadsheetml.sheet
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!