2016-07-27 17 views
0

在應用程序中,我具有網格視圖和Ajax Toolkit控件線圖,我需要將excel表格(開放式辦公室/天秤座辦公室)導出爲網格視圖和線圖。我在導出按鈕中嘗試了一些代碼,但是會導出網格視圖導出的內容,但折線圖不會導出爲Excel。我的頁面出現像這樣[my chart image]
通過單擊導出按鈕,然後只有網格視圖將導出爲Excel但不會導出它不會導出。我需要的是圖表應導出爲Excel。如何做到這一點如何將AjaxToolkit控件線圖導出到Excel

我試圖代碼:
的.aspx:

<cc1:LineChart ID="LineChart1" runat="server" ChartHeight="300" ChartWidth="900" ChartType="Basic" ChartTitleColor="#0E426C" Visible="true" CategoryAxisLineColor="#D08AD9" ValueAxisLineColor="#D08AD9" BaseLineColor="#A156AB"></cc1:LineChart> 

的.cs:

protected void btnExport_Click(object sender, EventArgs e) 
    { 

     Response.ClearContent(); 
     Response.Buffer = true; 
     Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "filename.xls")); 
     Response.ContentType = "application/ms-excel"; 
     StringWriter sw = new StringWriter(); 
     HtmlTextWriter htw = new HtmlTextWriter(sw); 
     base.OnPreRender(e); 
     ScriptManager sm = ScriptManager.GetCurrent(Page); 
     sm.RegisterScriptControl(LineChart1); 
     LineChart1.Visible = true;   
     for (int i = 0; i < grdview1.HeaderRow.Cells.Count; i++) 
     { 
      grdview1.HeaderRow.Cells[i]; 
     } 
     grdview1.RenderControl(htw); 
     LineChart1.RenderControl(htw); 
     Response.Write(sw.ToString()); 
     Response.End();   
    } 

public override void VerifyRenderingInServerForm(Control control) 
    { 
     /* Verifies that the control is rendered */ 
    } 

我加的OnPreRender()用於註冊ScriptManager控件

protected override void OnPreRender(EventArgs e) 
    { 
     /* Verifies that the control is rendered */ 
     base.OnPreRender(e); 
     ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page); 

     if (scriptManager == null) 
     { 

      scriptManager = new ScriptManager(); 

      scriptManager.ID = "ScriptManager1"; 

      scriptManager.EnablePartialRendering = true; 

      Controls.AddAt(0, scriptManager); 

     } 
    } 

任何人都可以幫助我如何導出線圖。

謝謝

+0

誰能告訴我該怎麼做 – User805

回答