0
アプリケーションでは、グリッドビューとAjaxツールキットのコントロールラインチャートがあります。グリッドビューとラインチャートをエクスポートしてシート(Excel/Officeオフィスを開く)にする必要があります。エクスポートボタンでいくつかのコードを試しましたが、グリッドビューがエクスポートされますが、折れ線グラフはExcelにエクスポートされません。私のページは次のように表示されます[my chart image]
エクスポートボタンをクリックすると、グリッド表示のみが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 */
}
私は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);
}
}
を登録するためのOnPreRender()を追加しました
誰かが私にラインチャートをエクスポートする方法を教えてもらえますか?
ありがとうございました
誰でもこの方法を教えていただけますか – User805