2009-12-30 104 views
0

要將gridview導出到Excel,可以將reponse內容類型更改爲「application/vnd.xls」,然後使用gridName.RenderControl進行渲染。這是否有任何理由不能/不應該採取相同的方法來將列表視圖呈現出來?將ListView導出爲Word

是否有另一個首選的方法來導出一個列表視圖到單詞?

更新:我已驗證,這將與Word一起工作;但是,在打開文件時,Word會從列表視圖中顯示html標籤(以及內容)。以下是代碼。

Response.Clear(); 
Response.AddHeader("content-disposition", "attachment;filename=test.doc"); 
Response.Charset = ""; 
Response.ContentType = "application/msword"; 

var stringWriter = new StringWriter(); 
var htmlWriter = new HtmlTextWriter(stringWriter); 
listView.RenderControl(htmlWriter); 
Response.Write(stringWriter.ToString()); 
Response.End(); 
+0

我唯一的想法是,html無效。 – 2009-12-30 19:22:22

+0

看來並非如此。我簡化了listview,這樣itemtemplate(和layouttemplate)中唯一的東西就是一個單獨的div標籤,其內容是「test」。 – Jeremy 2009-12-30 19:56:06

回答

1

相同的技術也適用於Microsoft Word。這是因爲它的工作原理是這樣的,即兩個應用程序都將打開並將HTML讀取爲源文檔格式。文件名和內容類型由網站設置,以便瀏覽器知道打開文件所需的應用程序。