EPPlus正在生成未知文件类型而不是excel文件?

时间:2015-02-08 08:10:58

标签: c# epplus

我正在使用EPPlus库来创建excel文件。这是我正在使用的代码

public static byte[] CreateExcelFile(DataTable dataTable)
{
    using (ExcelPackage pck = new ExcelPackage())
    {
        //Create the worksheet
        ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1");
        //Load the datatable into the sheet, starting from cell A1. Print the column names on row 1
        ws.Cells["A1"].LoadFromDataTable(dataTable, true);
        //Format the header for column A1:AZ1
        using (ExcelRange rng = ws.Cells["A1:AZ1"])
        {
            rng.Style.Font.Bold = true;
        }
        ////Example how to Format Column 1 as numeric 
        //using (ExcelRange col = ws.Cells[2, 1, 2 + dataTable.Rows.Count, 1])
        //{
        //    col.Style.Numberformat.Format = "#,##0.00";
        //    col.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;
        //}
        return pck.GetAsByteArray();
    }
} 

然后我使用以下内容类型生成一个resposne:“application / vnd.openxmlformats-officedocument.spreadsheetml.sheet”

该文件正在下载但未知类型。如果将文件重命名为a.xlsx,则会打开excel文件。

我使用的是旧版本,然后用最新的版本更新了dll,但问题仍然存在。有任何想法吗 ?

1 个答案:

答案 0 :(得分:1)

将Content-Type更改为“application / octet-stream”,并将值为“attachment; filename = foo.xlsx”的Content-Disposition添加到您的响应标题中。