首页 文章

为excel文档设置mime类型

提问于
浏览
321

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名称显示为默认名称 .

6 回答

  • 1

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

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

  • 6

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

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

  • 36

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

    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    
  • 0

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

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

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

    vnd.openxmlformats-officedocument.spreadsheetml.sheet
    
  • 311

    我相信标准MIME type for Excel文件是 application/vnd.ms-excel .

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

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

    我正在使用EPPlus生成.xlsx(基于OpenXML格式)的excel文件 . 要将此excel文件作为附件发送到电子邮件中,我使用以下MIME类型,它可以与EPPlus生成的文件一起使用,并在ms-outlook邮件客户端预览中正确打开 .

    string mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    System.Net.Mime.ContentType contentType = null;
    if (mimeType?.Length > 0)
    {
        contentType = new System.Net.Mime.ContentType(mimeType);
    }
    

相关问题