Excel(XLSXLSX)、PDFファイルは、ほとんどすべてのビジネスで広く使用されているドキュメント形式の1つです。このような一般的に使用されるファイルの場合、多くのシナリオがあります。あるファイルを別の形式に変換する必要があります。この記事では、.NETアプリケーションでC#を使用してExcelスプレッドシートをPDF形式に変換するさまざまな方法を学習します。

C#を使用してExcelスプレッドシートをPDFに変換する

.NET APIforExcelファイルからPDFへの変換

GroupDocs.Conversionは、.NETアプリケーション内でExcelファイルをPDF形式に変換できるようにするAPIを提供します。この記事では、GroupDocs.Conversion for .NETを使用して、Excel XLS/XLSXファイルのデータをPDF形式に変換します。さらに、APIは、ドキュメントに記載されているワードプロセッシングドキュメント、スプレッドシート、プレゼンテーション、電子書籍、画像など、他の多くのファイル形式の変換をサポートしています。

ダウンロードセクションからDLLまたはMSIインストーラーをダウンロードするか、NuGetを介して.NETアプリケーションにAPIをインストールできます。

PM> Install-Package GroupDocs.Conversion

ExcelシートをPDFに変換-C#

次の手順では、C#を使用して完全なワークブック(すべてのシート) をPDF形式に変換します。

  • SpreadsheetLoadOptionsを使用して読み込みオプションを準備します。
  • Converterを使用してExcelスプレッドシートをロードします。
  • PdfConvertOptionsを使用してConvert() メソッドを呼び出し、すべてのシートを変換してPDF形式で保存します。

以下は、.NETアプリケーション内で完全なExcelワークブックをPDFに変換する方法のC#ソースコードです。

/*
 * C#を使用してすべてのExcelシートをPDF形式に変換します
 */
// ソースXLSXファイルのロードオプションと範囲を準備します
Func<LoadOptions> loadOptions = () => new SpreadsheetLoadOptions
{
    OnePagePerSheet = true
};
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    // スプレッドシートを変換してPDF形式で保存します
    converter.Convert(@"path/all-sheets-converted.pdf", new PdfConvertOptions());
}
ExcelデータからPDFを変換する

PDFへのExcelシート変換のシーケンス-C#

完全なワークブックを変換する必要は必ずしもありません。また、連続した枚数を変換することもできます。以下は、C#を使用してExcelワークブックシートのサブシーケンスをPDF形式に変換する手順です。

  • Converterを使用してExcelファイルをロードします。
  • PdfConvertOptionsを使用して変換オプションを定義します。
  • 開始シート番号とそれ以降のシート数をシーケンスで設定します。
  • Convert() メソッドを変換オプションとともに呼び出して、シートのサブセットを順番にPDF形式で保存します。

以下は、シートを順番に変換するC#ソースコードです。つまり、.NETアプリケーション内でシート番号** 2、3、および4**をPDFに変換します。

/*
 * C#を使用してExcelシートのシーケンスをPDF形式に変換します
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // 開始シート数と連続シート数を設定します
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
    };
    // スプレッドシートを変換してPDF形式で保存します
    converter.Convert(@"path/sequential-sheets-converted.pdf", convertOptions);
}

特定のExcelシートからPDFへの変換-C#

特定のシートを変換するためのシート番号のリストを提供するだけです。以下は、C#を使用してシート番号の特定のリストをPDF形式に変換する方法の手順です。

  • Converterを使用してスプレッドシートファイルをロード**します。
  • シート番号を選択し、PdfConvertOptionsを使用してリストとして設定します。
  • 変換オプションを指定してConvert() メソッドを呼び出し、リストされたシートをPDF形式に変換します。

次のC#コードスニペットは、.NETアプリケーション内でシート番号** 1、3、および5**をPDFに変換します。

/*
 * 指定されたExcelシートのリストをC#を使用してPDF形式に変換します
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // 変換時にリストをシート番号に設定します
    var convertOptions = new PdfConvertOptions()
    {
        Pages = new System.Collections.Generic.List<int> { 1,3,5}
    };
    // スプレッドシートをPDF形式に変換して保存します
    converter.Convert(@"path/selected-sheets-conversion.pdf", convertOptions);
}

Excelシートの選択したセル範囲をPDFに変換-C#

最後になりましたが、実際、最も注意が必要なのは、他のアプローチとほぼ同じ方法で、Excelシートの任意のセル範囲を変換することもできます。以下は、C#を使用してワークブックシートの任意のセル範囲をPDF形式に変換する手順です。

  • まず、SpreadsheetLoadOptionsを使用して変換用のセル範囲を定義します。
  • Converterを使用してスプレッドシートファイルをロード**します。
  • 正確なシート番号またはPdfConvertOptionsを使用したサブシーケンスのいずれかでシートを選択します
  • 変換オプションを指定してConvert() メソッドを呼び出し、選択したシートの選択したセル範囲をPDF形式に変換します。

次のコードは、シート番号2、3、および4のセル範囲(A1:C20) をC#を使用してPDF形式に変換します。

/*
 * C#を使用して、指定したExcelシートの指定したセル範囲をPDF形式に変換します
 */
// ソース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
        // Pages = new System.Collections.Generic.List<int> {2,3,4}
    };
    // 変換後にPDFとして保存
    converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}

結論

結論として、C#を使用してExcelスプレッドシートをPDF形式に変換するさまざまな方法を学びました。最初に、完全なワークブックをPDF形式に変換することを検討し、次にシートのサブシーケンスを変換しました。その後、正確なシート番号のリストを提供することでシートを変換する方法を学び、最後に、選択したシートの選択したセル範囲からPDFファイルを取得しました。

ドキュメントからGroupDocs.ConversionAPIの詳細をご覧ください。お問い合わせは、フォーラムまでお問い合わせください。

関連項目