2014-05-19 56 views
0

我試圖從Gridview導出數據到Excel,並將該Excel文件保存在服務器上的一個文件夾中。我已經完成了Excel生成部分。但我無法將其保存在文件夾中。
請在下面找到我的代碼。
從Gridview導出數據到Excel並保存到一個文件夾

代碼

Response.ClearContent(); 
Response.Buffer = true; 
Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "order.xls")); 
Response.ContentType = "application/ms-excel"; 
StringWriter sw = new StringWriter(); 
HtmlTextWriter htw = new HtmlTextWriter(sw); 
gridX.AllowPaging = false; 
bindX(); 
gridX.HeaderRow.Style.Add("background-color", "#FFFFFF"); 
for (int i = 0; i < gridX.HeaderRow.Cells.Count; i++) 
{ 
    gridX.HeaderRow.Cells[i].Style.Add("background-color", "#df5015"); 
} 
gridX.RenderControl(htw); 
Response.Write(sw.ToString()); 
Response.End(); 


請幫我解決這個問題。

回答

1

希望這會幫助你。首先填充gridview控件,然後使用RenderControl()方法將excel中的網格渲染到特定路徑。

public override void VerifyRenderingInServerForm(Control control) 
    { 
     /* Confirms that an HtmlForm control is rendered for the specified ASP.NET 
      server control at run time. */ 

    } 

protected void Button1_Click(object sender, EventArgs e) 
{ 


    using (StreamWriter sw = new StreamWriter("c:\\test.xls")) 
    { 
     using (HtmlTextWriter hw = new HtmlTextWriter(sw)) 
     { 
      GridView1.RenderControl(hw); 
     } 
    } 

} 
+0

我會試試這個,然後回覆你。 – Wanderer

+0

excel文件爲空 – Wanderer

+0

現在我可以將它存儲在一個文件夾中。但我需要阻止下載。該怎麼辦? – Wanderer

相關問題