Soubory Excel (XLS, XLSX) a PDF patří mezi formáty dokumentů, které jsou široce používány téměř v každém podnikání. Pro takové běžně používané soubory existuje mnoho scénářů, ve kterých potřebujeme převést jeden soubor do jiného formátu. V tomto článku se naučíme různé způsoby, jak převést excelové tabulky do formátu PDF pomocí C# s aplikacemi .NET.

Převést tabulku Excel do PDF pomocí C#

.NET API pro převod souborů Excel do PDF

GroupDocs.Conversion poskytuje rozhraní API, která umožňují převod souborů aplikace Excel do formátu PDF v rámci aplikací .NET. V tomto článku použijeme GroupDocs.Conversion for .NET k převodu dat souborů Excel XLS/XLSX do formátu PDF. Kromě toho rozhraní API podporuje konverzi mnoha dalších formátů souborů, jako jsou dokumenty pro zpracování textu, tabulky, prezentace, elektronické knihy, obrázky atd., které jsou zmíněny v dokumentaci.

Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Conversion

Převod tabulek Excelu do PDF - C#

Následující kroky převedou celý sešit (všechny listy) do formátu PDF pomocí C#.

Níže je uveden zdrojový kód C# pro převod kompletního excelového sešitu do PDF v rámci aplikace .NET.

/*
 * Převeďte všechny excelové listy do formátu PDF pomocí C#
 */
// Připravte možnosti načítání a rozsah pro zdrojový soubor XLSX
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    OnePagePerSheet = true
};
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    // Převeďte a uložte tabulku ve formátu PDF
    converter.Convert(@"path/all-sheets-converted.pdf", new PdfConvertOptions());
}
Převod PDF z dat aplikace Excel

Sekvence převodu tabulek Excelu do PDF - C#

Ne vždy je potřeba transformovat celý sešit. Můžeme také převést libovolný po sobě jdoucí počet listů. Následují kroky pro převod libovolné podsekvence listu sešitu aplikace Excel do formátu PDF pomocí jazyka C#.

  • Načtěte soubor Excel pomocí Konvertor.
  • Definujte možnosti převodu pomocí PdfConvertOptions.
  • Postupně nastavte počáteční číslo listu a počet dalších listů.
  • Voláním metody Convert() s možnostmi převodu získáte podmnožinu listů v pořadí uložené ve formátu PDF.

Následuje zdrojový kód C#, který převádí listy v pořadí, tj. čísla listů 2, 3 a 4 do formátu PDF v rámci aplikace .NET.

/*
 * Převeďte sekvenci listů aplikace Excel do formátu PDF pomocí C#
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // Nastavte počáteční číslo listu a počet po sobě jdoucích listů
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
    };
    // Převeďte a uložte tabulku ve formátu PDF
    converter.Convert(@"path/sequential-sheets-converted.pdf", convertOptions);
}

Konverze konkrétních Excelových listů do PDF – C#

Můžeme jednoduše poskytnout seznam čísel listů pro konverzi konkrétních listů. Níže jsou uvedeny kroky, jak převést jakýkoli konkrétní seznam čísel listů do formátu PDF pomocí C#.

  • Načtěte soubor tabulky pomocí Konvertor.
  • Vyberte čísla listů a nastavte je jako seznam pomocí PdfConvertOptions.
  • Voláním metody Convert() s možnostmi převodu převedete uvedené listy do formátu PDF.

Následující fragment kódu C# převádí čísla listů 1, 3 a 5 do formátu PDF v rámci aplikace .NET.

/*
 * Převeďte zadaný seznam listů aplikace Excel do formátu PDF pomocí C#
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // Při převodu nastavte seznam na čísla listů
    var convertOptions = new PdfConvertOptions()
    {
        Pages = new System.Collections.Generic.List<int> { 1,3,5}
    };
    // Převeďte a uložte tabulku do formátu PDF
    converter.Convert(@"path/selected-sheets-conversion.pdf", convertOptions);
}

Převést vybraný rozsah buněk listu Excel do PDF - C#

V neposlední řadě, ve skutečnosti nejsložitější, můžeme také převést libovolný rozsah buněk listu (listů) aplikace Excel téměř podobným způsobem jako jiné přístupy. Následují kroky k převodu libovolného rozsahu buněk listu (listů) sešitu do formátu PDF pomocí C#.

  • Nejprve definujte rozsah buněk pro převod pomocí SpreadsheetLoadOptions.
  • Načtěte soubor tabulky pomocí Konvertor.
  • Vyberte listy buď podle přesných čísel listů nebo podsekvencí pomocí PdfConvertOptions.
  • Voláním metody Convert() s možnostmi převodu převedete vybraný rozsah buněk vybraných listů do formátu PDF.

Následující kód převede rozsah buněk (A1:C20) čísel listů 2, 3 a 4 do formátu PDF pomocí C#.

/*
 * Převeďte zadaný rozsah buněk zadaných listů aplikace Excel do formátu PDF pomocí C#
 */
// Připravte možnosti načítání a rozsah pro zdrojový soubor 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
        // Stránky = nový System.Collections.Generic.List<int> { 2,3,4}
    };
    // Po převodu uložit jako PDF
    converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}

Závěr

Na závěr jsme se naučili různé způsoby převodu tabulek Excelu do formátu PDF pomocí C#. Nejprve jsme se snažili převést celý sešit do formátu PDF, poté jsme převedli dílčí posloupnost listů. Později jsme se naučili, jak převést libovolný list (listy) poskytnutím seznamu přesných čísel listů, a nakonec jsme získali soubor PDF z vybraného rozsahu buněk vybraných listů.

Další informace o rozhraní API GroupDocs.Conversion naleznete v dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.

Viz také