Laden...

Inhalt von DataGridView + Textbox nach Excel exportieren

Erstellt von D.Steuck vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.401 Views
D
D.Steuck Themenstarter:in
5 Beiträge seit 2011
vor 13 Jahren
Inhalt von DataGridView + Textbox nach Excel exportieren

Huhu liebe Gemeinde 😃

Ich schreibe zur Zeit an einem Programm zur Bilanzierung von Lehrereinsätzen. Soweit funktioniert auch alles. Nur bin ich jetzt an ein Problem gestoßen was mir echt Kopfschmerzen bereitet -.-

Ich habe in meinem Programm eine Tab in der mir Daten in Textboxen und einer DataGridView angezeigt werden. Diese Daten will ich in eine Excel Tabelle übergeben. Das Layout des Excelldatenblattes ist dabei vorgegeben.

Ich habe schon Google befragt und auch einiges zum Thema Excel gefunden nur hat das alles nicht so funktioniert wie es soll.

Ich habe 2 Bilder angehangen. Bild 1 ist das Programm aus dem die Daten kommen sollen. Das DGV wird hierbei aus einer Bindingsource gefüllt welches mit Filtern versehen ist die durch die Comboboxen "Lehrerauswahl", "Schuljahr" und "Halbjahr" bestimmt werden. Mit klick auf die entsprechenden Buttons soll die Excelldatei entweder gespeichert werden oder angezeigt werden. Der Dateiname soll hierbei vom ausgewählten Lehrer sowie der aktuellen Uhrzeit und des Datums bestimmt werden.

Bild 2 ist das Excelldokument welches als Vorlage dient. Die blauen Zellen sollen hierbei Daten aus den Text- und Comboboxen beinhalten und die grünen Zellen die Daten aus dem DGV.

Ich möchte keinen kompletten Code haben 😃 bissel anstrengen will ich mich schon.

Meine Fragen sind: Wie übergebe ich das ganze an Excel und wie sag ich meinem Programm wo genau was rein soll?

Edit: Die Datensatzanzahl im DGV kann unterschiedlich sein aber max 20 Zeilen.

mfg
David

2.223 Beiträge seit 2005
vor 13 Jahren

Hallo D.Steuck und Herzlich Willkommen hier im Forum,

ich denke für den Einstig sollte dieser Link ausreichen.

Viele Grüße
Lars

D
D.Steuck Themenstarter:in
5 Beiträge seit 2011
vor 13 Jahren

welcher link? 😃

Bin ich Blind oder hast du vergessen ihn zu posten?

mfg
David

2.223 Beiträge seit 2005
vor 13 Jahren
D
D.Steuck Themenstarter:in
5 Beiträge seit 2011
vor 13 Jahren

so ich hab mir jetzt folgendes zusammengebaut:


private void btn_berichte_anzeigen_Click(object sender, EventArgs e)
            {
                
                    dgv_berichte.SelectAll();
                    Clipboard.SetDataObject(dgv_berichte.GetClipboardContent(), true);
                    Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
                    Microsoft.Office.Interop.Excel.Workbook wbook = excelApp.Workbooks.Open(@"D:\bilanz.xls", Type.Missing, false, 
                        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
                        Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                    Microsoft.Office.Interop.Excel.Worksheet sheet = wbook.Worksheets.get_Item(1);
                    wbook.ActiveSheet.Range["B11:H30"].Select();
                    sheet.PasteSpecial(DataFormats.Text, false, false, false, false, false, false);
                
            }

das soll die Datensätze des DGV markieren und in die Zwischenablage kopieren. dann soll Excel geöffnet werden und die Daten in Zelle B11 - H30 eingefügt werden.
Soweit die Theorie. Beim Ausführen bekomme ich allerdings folgenden Fehler:

Ausnahme von HRESULT: 0x800A03EC

Nach Befragung von Google habe ich herausgefunden das es wohl mit der Einstellung des Gebietsschemas zusammenhängt. Das hab ich alles kontrolliert. In meinem Programm, im Windows und im Excel ist Deutsch(Deutschland) eingestellt. Kann das noch eine andere Ursache haben?

Ich benutze Excel2010 und Windows 7. Das Excel Datenblatt ist in Excel97 Formatiert.

Kann mir jemand erklären wie ich das Problem lösen kann? MSDN hat mir da leider nicht weitergeholfen.

mfg
David