locked
How do I export AjaxControlTookKit TabPanel contents(which consist of multiple charts) as image into excel with my current codes? RRS feed

  • Question

  • User41614756 posted

    I have a sets of codes that currently allow me to export 2 gridviews into 2 separate spreadsheets in one excel.

    However I would like to know how to add in my export codes to be able to export every AjaxControlTookKit TabPanel contents(which consist of multiple charts) in each tab as image into excel with my current codes?

    For example I have 4 tabs created with multiple charts in each tab. I would like to export each tab into 1 worksheet as image (can be the whole view of the single tab as one image or individual charts) which adds on to my 2 grid views im currently able to export. So in the end I will have 6 worksheets created when I export.

    Please advice thanks:)

    protected void EXPORT_BUTTON_Click(object sender, EventArgs e)
    {
    Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
    
    // creating new WorkBook within Excel application
    Microsoft.Office.Interop.Excel._Workbook workbook  =  app.Workbooks.Add(Type.Missing);
    
    String DT1 = "Data table 1";
    String DT2 = "Data table 2";
    
    ExportToExcel(app, workbook, Gridview1, DT1, 1);
    
    ExportToExcel(app, workbook, Gridview2, DT2, 2);   
    
    workbook.SaveAs(@"C:\Users\testacc\Desktop\Test\" + datetime.ToString("dd-MM-yyyy_hh-mm-ss") + ".xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    
    app.Quit();
    
    }
     public void ExportToExcel(Microsoft.Office.Interop.Excel._Application app, Microsoft.Office.Interop.Excel._Workbook workbook, GridView gridview, string SheetName)
            {
                // see the excel sheet behind the program
                app.Visible = false;
    
                Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets.Add();
    
                // changing the name of active sheet
                worksheet.Name = SheetName;
    
                // storing header part in Excel
                for (int i = 1; i < gridview.Columns.Count + 1; i++)
                {
                    worksheet.Cells[1, i] = gridview.Columns[i - 1].HeaderText;
                }
    
    
    
                // storing Each row and column value to excel sheet
                for (int i = 0; i < gridview.Rows.Count - 1; i++)
                {
                    for (int j = 0; j < gridview.Columns.Count; j++)
                    {
                        worksheet.Cells[i + 2, j + 1] = gridview.Rows[i].Cells[j].Text.ToString();
                    }
                }
    
    
            }

    Thursday, October 15, 2015 10:49 PM

All replies