21 Vb.Net program generujący dokument Excel

Generujemy dokument Excel

Nasze dane można w prosty sposób wyeksportować do arkusza kalkulacyjnego. Jak to zrobić? Musimy dodać nową referencję do naszego projektu, wykonujemy to analogicznie jak w poprzednim poradniku tylko zamiast Microsoft Word 11.0 Object Library dodajemy Microsoft Excel 11.0 Object Library. Dzięki temu będziemy w naszym kodzie mogli operować obiektami Excela. Poniżej przedstawie gotowy kod, który można wstawić sobie do jakiegoś Buttona:
        'Deklaracja obiektów dla excel
        Dim oExcel As Excel.Application
        Dim oWB As Excel.Workbook
        Dim oSheet As Excel.Worksheet
        Dim oRange As Excel.Range

        'uruchamiamy aplkację
        oExcel = CreateObject("Excel.Application")
        oExcel.Visible = True
        oExcel.UserControl = True

        'tworzymy nowy skoroszyt
        oWB = oExcel.Workbooks.Add
        oSheet = oWB.ActiveSheet

        'tworzymy tabelę z danymi
        oSheet.Cells(1, 1).Value = "Imię"
        oSheet.Cells(1, 2).Value = "Nazwisko"
        oSheet.Cells(1, 3).Value = "Data urodzenia"
        oSheet.Cells(1, 4).Value = "Pesel"
        oSheet.Cells(1, 5).Value = "Zarobki"

        'Formatujemy nagłówek naszej tabeli
        With oSheet.Range("A1", "E1")
            .Font.Bold = True
            .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
        End With

        ' zdefiniowana tabela z danymi 
        Dim saNames(2, 5)
        saNames(0, 0) = "Henryk"
        saNames(0, 1) = "Walewski"
        saNames(0, 2) = "03.04.1976"
        saNames(0, 3) = 76040306345
        saNames(0, 4) = 2350
        saNames(1, 0) = "Jan"
        saNames(1, 1) = "Malinowski"
        saNames(1, 2) = "04.05.1953"
        saNames(1, 3) = 53050478346
        saNames(1, 4) = 1960

        ' wprowadzenie tabeli z danymi w zakres
        oSheet.Range("A2", "E3").Value = saNames

        'dodanie obramowania do zakresu
        oSheet.Range("A1", "E3").BorderAround(FormBorderStyle.FixedSingle, Excel.XlBorderWeight.xlMedium, Excel.XlColorIndex.xlColorIndexAutomatic)

        'Autodopasowanie szerokości kolumn do zawartości
        oRange = oSheet.Range("A1", "D1")
        oRange.EntireColumn.AutoFit()

        'Dodajemy formułę
        oRange = oSheet.Range("E4")
        oRange.Formula = "= SUMA(E2:E3)"
Kod odpowiednio skomentowałem więc nie powinno być problemów ze zrozumieniem.



Utworzono 03.10.2015

Brak komentarzy:

Prześlij komentarz