Tabelle in Excel oder Word erstellen?

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Infinity.

    Tabelle in Excel oder Word erstellen?

    Hallo,

    ich habe eine Frage, wie schaffe ich es, eine Tabelle in Excel oder Word zu erstellen und dann mir anzuzeigen?

    Excel, wäre dafür am besten geeignet, ich benutze aber eine For each Schleife. Ich möchte halt eine Tabelle erstellen,
    und wenn der Datensatz fertig ist von der jetzigen Serie, dass er automatisch eine neue tabelle anfängt.

    Geht das?

    Mfg
    Dennis
    Füge einfach die "Microsoft Excel 10.0 Object Library" zu deinem Projekt hinzu.

    Anschließend kannst du ganz einfach auf Excel zugreifen. Hier mal ein Beispiel aus einem Programm von mir:

    VB.NET-Quellcode

    1. Dim ExcelApplication As New Excel.Application
    2. With ExcelApplication
    3. .DisplayAlerts = False
    4. .Workbooks.Add()
    5. .Columns(1).ColumnWidth = 35
    6. .Columns(2).ColumnWidth = 45
    7. .Columns(3).ColumnWidth = 35
    8. .Rows(1).MergeCells = True
    9. .Rows(1).Font.Bold = True
    10. .Rows(1).Font.Size = 16
    11. .Rows(3).Font.Bold = True
    12. .Cells(1, 1).Value = NameDesVokabeltests
    13. .Cells(3, 1).Value = Sprache1.HeaderText
    14. .Cells(3, 2).Value = Beschreibung.HeaderText
    15. .Cells(3, 3).Value = Sprache2.HeaderText
    16. End With
    17. For Each Zeile As DataGridViewRow In Vokabeltest.Rows
    18. Dim Zeilenzahl As Integer = Zeile.Cells(0).RowIndex
    19. With ExcelApplication
    20. .Cells(Zeilenzahl + 4, 1).Value = Zeile.Cells(0).ToolTipText
    21. .Cells(Zeilenzahl + 4, 2).Value = Zeile.Cells(1).ToolTipText
    22. .Cells(Zeilenzahl + 4, 3).Value = Zeile.Cells(2).ToolTipText
    23. End With
    24. NextExcelApplication.Visible = True


    Ich denke mal das Beispiel brauch ich nicht mehr zu erklären, da die Methoden eigentlich selbsterklärend sind.
    Hm, okay cool danke ! :D

    Ich würde nur gerne wissen, wie ich rausfinde wieviele Einträge ich habe, Sprich das er sich selber die nächste Zeile nimmt und wenn es nichts mehr von der Serie gibt, das er automatisch wieder die standart übertabellen nimmt (ID, Begriff etc...)

    Weißt was ich meine?
    Also so ganz nicht, aber um immer in die nächste Zeile zu schreiben würde ich einfach einen Zähler nehmen, den ich bei jedem Schleifendurchgang um eins hochzähle und dann die Zellen über .Cells(Startzeile + Zähler, Spalte).Value setzen.

    Ich muss aber ganz eherlich sagen, mit Excel kenne ich mich garnicht so aus (habe es nur mal in meinem Vokabeltrainer verwendet, um die Vokabeltests nach Excel zu exportieren), deshalb weiß ich auch nicht genau was du mit "neuen Tabellen" meinst.

    Du kannst dir ja mal die Beschreibung des Excel.Application-Objects unter MSDN anschauen: msdn.microsoft.com/de-de/library/aa288621(v=vs.71).aspx