2013-03-13 90 views
2

我想從包含圖像的網格中將數據導出到excel。如何從包含圖像的網格將數據導出到excel中?

我使用下面的代碼 -

private void CreateXL() 
{ 
    Response.Clear(); 
    Response.AddHeader("content-disposition", "attachment;filename=xxxxxxxt.xls"); 
    Response.Charset = ""; 

    Response.ContentType = "application/vnd.xls"; 
    StringWriter objStringWriter = new StringWriter(); 
    HtmlTextWriter objHtmlTextWriter = new HtmlTextWriter(objStringWriter); 

    Gridview.RenderControl(objHtmlTextWriter); 
    Response.Write(objStringWriter.ToString()); 
    Response.End(); 
} 

但在Excel中是無法看到圖像,而不是圖像的我得到一個消息,說,「無法顯示該文件的鏈接的圖像可以有已被移動,重命名或刪除。確認鏈接指向正確的文件和位置。'

我該如何解決這個問題?

+1

這個網址肯定會幫助你很多.... http://www.aspsnippets.com/Articles/Export-GridView-with-Images-to-Word- Excel和PDF格式在ASP.Net.aspx – 2013-03-13 13:01:28

+0

是適合你的工作???????? – 2013-03-13 15:27:16

回答

0

爲文章全文:http://www.aspsnippets.com/Articles/Export-GridView-with-Images-to-Word-Excel-and-PDF-Formats-in-ASP.Net.aspx

private void Excel_Export() 
{ 
Response.Clear(); 
Response.Buffer = true; 
Response.AddHeader("content-disposition","attachment;filename=GridViewExport.xls"); 
Response.Charset = ""; 
Response.ContentType = "application/vnd.ms-excel"; 
StringWriter sw = new StringWriter(); 
HtmlTextWriter hw = new HtmlTextWriter(sw); 
GridView1.AllowPaging = false; 
GridView1.DataBind(); 

for (int i = 0; i < GridView1.Rows.Count; i++) 
{ 
GridViewRow row = GridView1.Rows[i]; 
//Apply text style to each Row 
row.Attributes.Add("class", "textmode"); 
} 
GridView1.RenderControl(hw); 
//style to format numbers to string 
string style = @"<style> .textmode { mso-number-format:\@; } </style>"; 
Response.Write(style); 
Response.Output.Write(sw.ToString()); 
Response.Flush(); 
Response.End(); 
} 
相關問題