如何更改reportviewer的mime类型?

时间:2013-09-06 11:53:29

标签: c# asp.net-mvc mime-types report-viewer2010

我使用reportviewer进行渲染和扩展,但这些代码扩展为旧的文件扩展名。 例如,我想用.xlsx创建,但它创建xls。我该如何更改默认的mimeType?

protected void ExportExcel_Click(object sender, EventArgs e)
{
    Warning[] warnings;
    string[] streamids;
    string mimeType;
    string encoding;
    string extension;
    string filename;

    byte[] bytes = ReportViewer1.LocalReport.Render(
       "Excel", null, out mimeType, out encoding,
        out extension,
       out streamids, out warnings);

    filename = string.Format("{0}.{1}", "ExportToExcel", "xls");
    Response.ClearHeaders();
    Response.Clear();
    Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
    Response.ContentType = mimeType;
    Response.BinaryWrite(bytes);
    Response.Flush();
    Response.End();
}

1 个答案:

答案 0 :(得分:0)

对于Excel 2007及更高版本,MIME类型不同

Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

Response.AppendHeader("content-disposition", "attachment; filename=" + filename);

参考: Content Type for xlsx

此外, What is correct content-type for excel files?