2010-09-29 31 views

回答

1

除了通過@amurra描述Open XML SDK 2.0,你可以嘗試OpenExcel。這是優秀的圖書館,速度非常快。

一個快速和骯髒的選擇是把所有的數據在一個表中,並編寫表只響應流與您試圖不已,像頭:

Response.AddHeader("Content-Disposition", "attachment; filename=test.xlsx"); 
Response.ContentType = "application/ms-excel"; 
//NOW WRITE TABLE 
Response.Write("<table><tr><td>SrNo</td></tr><tr><td>1</td></tr></table>"); 
Response.End(); 

我沒有用這個技巧但已經看到它在某些應用中使用。打開Excel時,會向用戶發出數據不是excel格式的警告,但會成功打開它。

1

您應該使用Open XML SDK 2.0來實現該任務,因爲它是受支持的Microsoft創建Office文檔的方式。

其他hacky的方式是創建一個局部視圖並將html導出到Excel。這將給數據提供只讀視圖,因爲它沒有正確的excel格式,但是當你不想花時間編寫Open XML的時候,這種方法就行得通。

也爲的.xlsx正確MIMEConentType是"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"和.xls的是"application/vnd.ms-excel"

2

對於你的生產線也許這項工作,但我不知道你想做什麼。

Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" 
Response.AppendHeader("Content-Disposition", "attachment; filename=test.xlsx") 
Response.Write(sw.ToString()) 
Response.End() 
相關問題