2016-07-27 4 views
0

В приложении у меня есть вид сетки и контрольная строка Ajax Toolkit. Мне нужно экспортировать сетку и линейную диаграмму на лист Excel (офис офиса/офиса Libra). я попробовал код в кнопке экспорта, но то, что происходит, отображается в виде сетки, но линейная диаграмма не экспортирует в 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

ответ

Смежные вопросы