Pliki Excel (XLS, XLSX) i PDF należą do formatów dokumentów, które są szeroko stosowane w prawie każdej firmie. W przypadku tak powszechnie używanych plików istnieje wiele scenariuszy, w których musimy przekonwertować jeden plik na inny format. W tym artykule poznamy różne sposoby konwertowania arkuszy kalkulacyjnych Excel do formatu PDF przy użyciu języka C# z aplikacjami .NET.

Konwertuj arkusz kalkulacyjny Excel na PDF za pomocą C#

.NET API do konwersji plików Excela na PDF

GroupDocs.Conversion udostępnia interfejsy API, które umożliwiają konwersję plików programu Excel do formatu PDF w aplikacjach .NET. W tym artykule użyjemy narzędzia GroupDocs.Conversion for .NET do konwersji danych z plików Excel XLS/XLSX do formatu PDF. Ponadto interfejs API obsługuje konwersję wielu innych formatów plików, takich jak dokumenty edytorów tekstu, arkusze kalkulacyjne, prezentacje, książki elektroniczne, obrazy itp., o których mowa w dokumentacji.

Możesz pobrać instalator bibliotek DLL lub MSI z sekcji pobierania lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Conversion

Konwertuj arkusze Excela na PDF - C#

Poniższe kroki przekonwertuj cały skoroszyt (wszystkie arkusze) do formatu PDF przy użyciu języka C#.

Poniżej znajduje się kod źródłowy języka C# umożliwiający konwersję całego skoroszytu programu Excel do formatu PDF w aplikacji .NET.

/*
 * Konwertuj wszystkie arkusze Excela do formatu PDF za pomocą C#
 */
// Przygotuj opcje ładowania i zakres dla źródłowego pliku XLSX
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    OnePagePerSheet = true
};
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    // Konwertuj i zapisz arkusz kalkulacyjny w formacie PDF
    converter.Convert(@"path/all-sheets-converted.pdf", new PdfConvertOptions());
}
Konwertuj PDF z danych Excela

Sekwencja konwersji arkuszy Excel do PDF - C#

Nie zawsze konieczne jest przekształcanie całego skoroszytu. Możemy również przekonwertować dowolną kolejną ilość arkuszy. Poniżej przedstawiono kroki konwersji dowolnej podsekwencji arkuszy skoroszytu programu Excel do formatu PDF przy użyciu języka C#.

  • Załaduj plik Excel za pomocą Konwertera.
  • Zdefiniuj opcje konwersji za pomocą PdfConvertOptions.
  • Ustaw kolejno numer arkusza początkowego i liczbę kolejnych arkuszy.
  • Wywołaj metodę Convert() z opcjami konwersji, aby otrzymać podzbiór arkuszy w sekwencji zapisanych w formacie PDF.

Poniżej znajduje się kod źródłowy C#, który konwertuje kolejne arkusze, tj. numery arkuszy 2,3 i 4 do formatu PDF w aplikacji .NET.

/*
 * Konwertuj sekwencję arkuszy Excela do formatu PDF za pomocą C#
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // Ustaw początkowy numer arkusza i liczbę kolejnych arkuszy
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
    };
    // Konwertuj i zapisz arkusz kalkulacyjny w formacie PDF
    converter.Convert(@"path/sequential-sheets-converted.pdf", convertOptions);
}

Konwersja określonych arkuszy Excela do formatu PDF — C#

Możemy po prostu podać listę numerów arkuszy do konwersji określonych arkuszy. Poniżej przedstawiono kroki, jak przekonwertować dowolną określoną listę numerów arkuszy na format PDF przy użyciu języka C#.

  • Załaduj plik arkusza kalkulacyjnego za pomocą Konwertera.
  • Wybierz numery arkuszy i ustaw jako listę za pomocą PdfConvertOptions.
  • Wywołaj metodę Convert() z opcjami konwersji, aby przekonwertować wymienione arkusze do formatu PDF.

Poniższy fragment kodu C# konwertuje numery arkuszy 1, 3 i 5 na format PDF w aplikacji .NET.

/*
 * Konwertuj określoną listę arkuszy Excela do formatu PDF za pomocą C#
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // Ustaw listę na numery arkuszy podczas konwersji
    var convertOptions = new PdfConvertOptions()
    {
        Pages = new System.Collections.Generic.List<int> { 1,3,5}
    };
    // Konwertuj i zapisz arkusz kalkulacyjny w formacie PDF
    converter.Convert(@"path/selected-sheets-conversion.pdf", convertOptions);
}

Konwertuj wybrany zakres komórek arkusza Excel na PDF - C#

Ostatni, ale nie mniej ważny, w rzeczywistości najtrudniejszy, możemy również przekonwertować dowolny zakres komórek arkusza (arkuszy) Excela w prawie podobny sposób, jak inne podejścia. Poniżej przedstawiono kroki konwersji dowolnego zakresu komórek arkuszy skoroszytu do formatu PDF przy użyciu języka C#.

  • Najpierw zdefiniuj zakres komórek do konwersji za pomocą SpreadsheetLoadOptions.
  • Załaduj plik arkusza kalkulacyjnego za pomocą Konwertera.
  • Wybierz arkusze według dokładnych numerów arkuszy lub podsekwencji za pomocą PdfConvertOptions.
  • Wywołaj metodę Convert() z opcjami konwersji, aby przekonwertować wybrany zakres komórek wybranych arkuszy do formatu PDF.

Poniższy kod konwertuje zakres komórek (A1:C20) numerów arkuszy 2, 3 i 4 na format PDF przy użyciu języka C#.

/*
 * Konwertuj określony zakres komórek określonych arkuszy Excela na format PDF za pomocą C#
 */
// Przygotuj opcje ładowania i zakres dla źródłowego pliku XLSX
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    ConvertRange = "A1:C20"
};
using (var converter = new Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
        // Strony = nowy System.Collections.Generic.List<int> {2,3,4}
    };
    // Zapisz jako PDF po konwersji
    converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}

Wniosek

Podsumowując, nauczyliśmy się różnych sposobów konwertowania arkuszy kalkulacyjnych programu Excel do formatu PDF przy użyciu języka C#. Najpierw staraliśmy się przekonwertować cały skoroszyt do formatu PDF, a następnie przekonwertowaliśmy podsekwencję arkuszy. Później nauczyliśmy się konwertować dowolne arkusze, podając listę dokładnych numerów arkuszy, a na koniec otrzymaliśmy plik PDF z wybranego zakresu komórek wybranych arkuszy.

Dowiedz się więcej o interfejsach API GroupDocs.Conversion z dokumentacji. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też