DataGridView in Excel exportieren

brainrain

Grünschnabel
Hi,

ich habe eine DataGridView, die mir aus einer MS-SQL DB Daten anzeigt.
Das Grid ist in ASP.Net 2.0 in einer aspx seite erstellt.

Ich will einen Button, der genau aus dieser Tabelle eine Excel Datei mit dem Inhalt des DataGridViews erstellt.
Ist das Möglich?
Wenn ja wie?

Besten Dank
 

brainrain

Grünschnabel
Hi nochmals,

es langt eigentlich auch wenn ich die Tabelle GridView1 in den zwischenspeicher kopieren könnte!
 

spidermike

Grünschnabel
ich würde genau sowas für c# und forms brauchen, finde aber bei gridviewguy nix

bin ich nur blind, oder findet man dort nur ASP.NET artikel?!

need help!
thnx :)
 

michaelwengert

Erfahrenes Mitglied
Ich habs folgendermaßen gemacht:

1. Verweise dem Projekt hinzufügen
- Microsoft.Office.Core
- Microsoft.Office.Interop.Excel
- Office

2. Code zum DataGridView(aDataGridView) in Excel speichern
Code:
        private void toolStripButtonExcel_Click(object sender, EventArgs e)
        {
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();

                ExcelApp.Application.Workbooks.Add(Type.Missing);
                ExcelApp.Columns.ColumnWidth = 20;

                int k = 0;
                foreach (DataGridViewColumn column in aDataGridView.Columns)
                {
                    ExcelApp.Cells[1, k + 1] = column.HeaderText.ToString();
                    k++;
                }

                for (int i = 2; i < aDataGridView.Rows.Count; i++)
                {
                    DataGridViewRow row = aDataGridView.Rows[i];
                    for (int j = 0; j < row.Cells.Count; j++)
                    {
                        ExcelApp.Cells[i + 1, j + 1] = row.Cells[j].FormattedValue.ToString();
                    }
                }

                ExcelApp.ActiveWorkbook.SaveCopyAs(saveFileDialog1.FileName);
                ExcelApp.ActiveWorkbook.Saved = true;

                ExcelApp.Quit();
            }
        }
 
  • Gefällt mir
Reaktionen: SOL