2015-02-08 81 views
0

我使用EPPlus庫來創建excel文件。這裏要說的是,我使用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代碼:「應用程序/ vnd.openxmlformats-officedocument.spreadsheetml.sheet」

文件被downloaed但未知類型。如果您將該文件重命名爲a.xlsx,它將打開該excel文件。

我使用的是舊版本,然後我更新了最新版本的dll,但問題仍然存在。有任何想法嗎 ?

回答

1

將Content-Type更改爲「application/octet-stream」並添加值爲「attachment; filename = foo.xlsx」的Content-Disposition給您響應標頭。

+0

我有這個頭,但我的文件名缺少.xlsx。任何它現在工作,謝謝。 – user123456 2015-02-08 08:52:09

相關問題