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);
}
}
任何人都可以幫助我如何導出線圖。
謝謝
誰能告訴我該怎麼做 – User805