Hallo,
ich baue gerade einen DatenExport, Ziel ist es ein Excel File zu generieren.
Die Daten werden in eine DataGridView geladen (zur Kontrolle) und dann in eien Excel Datei exportiert.
Die Ausgabe zeigt aktuell Kundendaten, weist der AdrNummer aus einer anderen DB die korrekte Postleitzahl und Ort zu und generiert dann Umsatzsummen pro Jahr und alternativ für ein (abweichendes) Geschäftsjahr
Das klappt soweit auch ganz gut mit folgendem Code:
Nun möchte ich die Zellen in Excel noch formatieren(Zahlen als EuroSummen darstellen) und gezielt den Hintergrund einfärben bevor ich Sie speichere.
Hierzu habe ich dies gefunden: Excel Zellen formatieren aus VB
Hieraus bekomme ich einfach keinen sinnvollen Ansatz hin, der mit Option Strict On funktioniert, es kommt der Late Binding Fehler.
Wahrscheinlich seh ich mal wieder den Wald vor Bäumen nicht, könntet Ihr mir da bitte weiterhelfen, wie man das realisieren kann ?
ich baue gerade einen DatenExport, Ziel ist es ein Excel File zu generieren.
Die Daten werden in eine DataGridView geladen (zur Kontrolle) und dann in eien Excel Datei exportiert.
Die Ausgabe zeigt aktuell Kundendaten, weist der AdrNummer aus einer anderen DB die korrekte Postleitzahl und Ort zu und generiert dann Umsatzsummen pro Jahr und alternativ für ein (abweichendes) Geschäftsjahr
Das klappt soweit auch ganz gut mit folgendem Code:
VB.NET-Quellcode
- Dim App As New Excel.Application
- Dim Book As Excel.Workbook = App.Workbooks.Add
- 'Neues Datenblatt anlegen
- Dim Sheet As Excel.Worksheet = CType(Book.Sheets.Add, Excel.Worksheet)
- Sheet.Name = "Kundenstatistik"
- Dim Zeile As Integer = 1
- Sheet.Cells.Item(Zeile, 1) = "AdrNr"
- Sheet.Cells.Item(Zeile, 2) = "Name"
- Sheet.Cells.Item(Zeile, 3) = "Plz_Ort"
- Sheet.Cells.Item(Zeile, 3) = "Summe Gesamt"
- 'Jahresliste generieren
- Dim Spalte As Integer = 5
- For i As Integer = 2010 To DateTime.Now.Year
- .Cells.Item(Zeile, Spalte) = i.ToString
- Spalte += 1
- Next
- 'GJ Liste erstellen
- For i As Integer = 2010 To DateTime.Now.Year
- .Cells.Item(Zeile, Spalte) = "GJ " & (i - 1).ToString & "/" & CStr(i).ToString
- Spalte += 1
- Next
- 'Vorrücken
- Zeile += 1
- Spalte = 1
- 'Daten holen
- For i As Integer = 0 To DataGridView1.Rows.Count - 1
- For j As Integer = 0 To DataGridView1.Columns.Count - 1
- 'Daten
- .Cells.Item(Zeile, Spalte) = DataGridView1.Item(j, i).Value
- Spalte += 1
- 'PLZ Zuordnen
- If j = 1 Then
- Dim strPLZ As String = PLZ_zuordnen(CInt(DataGridView1.Item(0, i).Value))
- .Cells.Item(Zeile, Spalte) = strPLZ
- Spalte += 1
- End If
- Next j
- 'neue Zeile
- Zeile += 1
- Spalte = 1
- Next i
- End With
- 'Speichern
- Book.SaveAs("C:\Users\xxx\Desktop\Kundenstat.xlsx")
- App.Quit()
- App = Nothing
Nun möchte ich die Zellen in Excel noch formatieren(Zahlen als EuroSummen darstellen) und gezielt den Hintergrund einfärben bevor ich Sie speichere.
Hierzu habe ich dies gefunden: Excel Zellen formatieren aus VB
Hieraus bekomme ich einfach keinen sinnvollen Ansatz hin, der mit Option Strict On funktioniert, es kommt der Late Binding Fehler.
Wahrscheinlich seh ich mal wieder den Wald vor Bäumen nicht, könntet Ihr mir da bitte weiterhelfen, wie man das realisieren kann ?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mabbi“ ()