2013-02-20 86 views
0

導出後打開excel文件我寫的代碼來導出數據,但警告信息爲什麼我在打開Excel文件,默認情況下文件保存爲擴展名爲.html警告信息,同時從GridView控件

警告面臨 - 「大文件你打開不同的格式不是由文件擴展名」

我需要.xls擴展名被保存指定 請幫我

private void ExportToExcel(DataTable dt) 
    { 
string fileName = "FileName" + DateTime.Now.ToString("MMddyyyy_HHmmss") + ".xls"; 

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

     //Response.AddHeader("content-disposition", "attachment;filename=Filename .xls"); 
     Response.ContentType = "application/vnd.ms-excel"; 

     StringWriter stringWriter = new StringWriter(); 
     HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWriter); 
     DataGrid dataExportExcel = new DataGrid(); 
     dataExportExcel.ItemDataBound += new DataGridItemEventHandler(dataExportExcel_ItemDataBound); 
     dataExportExcel.DataSource = dt; 
     dataExportExcel.DataBind(); 
     dataExportExcel.RenderControl(htmlWrite); 
     System.Text.StringBuilder sbResponseString = new System.Text.StringBuilder(); 
     sbResponseString.Append("<html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:xlExcel8\" xmlns=\"http://www.w3.org/TR/REC-html40\"> <head></head> <body>"); 
     sbResponseString.Append(stringWriter + "</body></html>"); 
     Response.Write(sbResponseString.ToString()); 
     Response.End(); 
} 
+0

你得到什麼錯誤? – Maris 2013-02-20 11:53:53

+1

Omg,你正試圖創建excel文件並寫入它的Html? oO – Maris 2013-02-20 11:55:25

+0

請幫助我如何導出到excel 我需要更改代碼 – Anand 2013-02-20 11:57:09

回答

0

使用這一個 - http://www.gemboxsoftware.com/spreadsheet/overview

看起來這在使用中:

// Create new Excel file. 
var excelFile = new ExcelFile(); 

excelFile.Worksheets.Add(dt.TableName).InsertDataTable(dt, 0, 0, true); 

// Save Excel file to XLS format. 
excelFile.SaveXls(dataSet.DataSetName + ".xls"); 
+0

是否可以使用我的代碼 – Anand 2013-02-20 12:41:38

+0

這種方式適用於您嗎? – Maris 2013-02-21 10:22:09

+0

沒有maris ..我不應該添加外部Dll的 – Anand 2013-03-01 08:03:45