Generuj raporty z danych Excel w C#

Możesz łatwo tworzyć dostosowane raporty z tabel danych Microsoft Excel. Takie raporty można generować programowo, wykorzystując arkusze kalkulacyjne Excel jako tabelę danych. W tym artykule skupimy się na tym, jak generować raporty z danych Excel przy użyciu języka C#.

W tym artykule omówiono/omówiono następujące tematy:

API C# do generowania raportów

Do generowania raportów z danych Excel będę używał API GroupDocs.Assembly for .NET. Umożliwia tworzenie wydajnych aplikacji do automatyzacji dokumentów i generowania raportów. Interfejs API obsługuje pobieranie danych z różnych źródeł danych, takich jak XML, JSON i CSV. Możesz łatwo generować raporty we wszystkich powszechnie używanych formatach plików, takich jak PDF, HTML i Microsoft Word. Można go używać do tworzenia aplikacji w dowolnym środowisku programistycznym przeznaczonym dla platformy .NET.

Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.

Install-Package GroupDocs.Assembly

Generuj raporty z danych Excela przy użyciu C#

Możesz generować raporty z danych Excel, wykonując proste kroki wymienione poniżej:

  1. Pobierz źródło dane Excela.
  2. Zdefiniuj szablon zgodnie z danymi Excel.
  3. Podaj źródło danych i szablon do prostego kodu C# do generowania raportów

Dane Excela

Dane tabelaryczne dostępne w arkuszu Excel można wykorzystać jako źródło danych do generowania raportów. Do generowania raportów będę używać następujących przykładowych danych Excel. Są to dane kontraktowe klientów z ich menedżerami oraz uzgodniona cena kontraktowa.

Źródło danych Excela

Źródło danych Excela

Szablon

Teraz zdefiniuj następujący szablon w pliku DOCX. Umożliwia to iterację danych Kontraktów i ich odpowiednich menedżerów z ceną kontraktu. Następnie możesz przejść do kodu w celu wygenerowania raportu.

Szablon raportu

Szablon raportu

Konwertuj Excel na raport Word w C#

Aby zautomatyzować konwersję danych Excel do raportu DOCX na podstawie szablonu, wykonaj poniższe kroki.

  • Zdefiniuj ścieżki pliku danych Excel, pliku szablonu i pliku raportu wyjściowego DOCX
  • Zdefiniuj Opcje tabeli dokumentu
  • Utwórz DocumentTable ze zdefiniowanym plikiem danych Excel i opcjami DocumentTableOptions
  • Wywołaj metodę AssembleDocument klasy DocumentAssembler, aby wygenerować raport na podstawie dostarczonych danych Excel i zdefiniowanego szablonu

Poniższy przykładowy kod pokazuje, jak wygenerować raport ze źródła danych Excel zgodnie ze zdefiniowanym szablonem przy użyciu języka C#.

string ExcelDataFile = "Contracts_Data.xlsx";
string strDocumentTemplate = "Template.docx";
string strDocumentReport = "Output.docx";

// Zdefiniuj tabelę danych z pliku Excel
DocumentTableOptions options = new DocumentTableOptions 
{ 
    FirstRowContainsColumnNames = true 
};
DocumentTable table = new DocumentTable(ExcelDataFile, 0, options);

// Złóż dokument, korzystając z zewnętrznej tabeli dokumentów jako źródła danych.
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(table, "contracts"));

Powyższy przykładowy kod wygeneruje następujący raport.

Wygenerowany raport

Wygenerowany raport

Klasa DocumentTableOptions udostępnia zestaw opcji sterujących wyodrębnianiem danych z tabeli dokumentów. W tym miejscu właściwość FirstRowContainsColumnNames ma wartość true.

Klasa DocumentTable zapewnia dostęp do danych pojedynczej tabeli (lub arkusza kalkulacyjnego) znajdującego się w dokumencie zewnętrznym w celu wykorzystania ich podczas składania dokumentu.

Klasa DocumentAssembler udostępnia metody generowania raportów na podstawie dokumentu szablonowego z danymi.

Zdobądź bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się generować raporty z danych Excela przy użyciu języka C#. Więcej informacji na temat GroupDocs.Assembly for .NET API można znaleźć w dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też