PDFをExcelに変換する .NET

概要

この記事では、C#を使用してPDFをExcel形式に変換する方法について説明します。以下のトピックをカバーしています。

次のコードスニペットは、Aspose.PDF.Drawingライブラリでも動作します。

C# PDFからExcelへの変換

Aspose.PDF for .NETは、PDFファイルをExcel 2007、CSV、およびSpreadsheetML形式に変換する機能をサポートしています。

Aspose.PDF for .NETはPDF操作コンポーネントであり、PDFファイルをExcelワークブック(XLSXファイル)にレンダリングする機能を導入しました。この変換中に、PDFファイルの個々のページがExcelワークシートに変換されます。

PDFファイルをXLSX形式に変換するために、Aspose.PDFにはExcelSaveOptionsというクラスがあります。ExcelSaveOptionsクラスのオブジェクトは、Document.Save(..)コンストラクタの第2引数として渡されます。

次のコードスニペットは、Aspose.PDF for .NETを使用してPDFファイルをXLSまたはXLSX形式に変換するプロセスを示しています。

PDFをXLSに変換

  1. ソースPDF文書でDocumentオブジェクトのインスタンスを作成します。
  2. ExcelSaveOptionsのインスタンスを作成します。
  3. Document.Save()メソッドを呼び出し、ExcelSaveOptionsを渡してXLS形式で保存します。

PDFをXLSXに変換

  1. ソースPDF文書でDocumentオブジェクトのインスタンスを作成します。
  2. ExcelSaveOptionsのインスタンスを作成します。
  3. Document.Save()メソッドを呼び出し、ExcelSaveOptionsを渡してXLSX形式で保存します。
  // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
 private static void ConvertPDFtoExcel()
 {
     // The path to the documents directory
     var dataDir = RunExamples.GetDataDir_AsposePdf();

     // Open PDF document
     using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
     {
         // Instantiate ExcelSaveOptions object
         var saveOptions = new Aspose.Pdf.ExcelSaveOptions();

         // Save the file in XLSX format
         document.Save(dataDir + "PDFToXLS_out.xlsx", saveOptions);
     }
 }

コントロール列を持つPDFをXLSに変換

PDFをXLS形式に変換する際、出力ファイルの最初の列に空白の列が追加されます。この列を制御するために、ExcelSaveOptionsクラスのInsertBlankColumnAtFirstオプションが使用されます。デフォルト値はfalseであり、空白の列は挿入されません。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoExcelAdvanced_InsertBlankColumnAtFirst()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            InsertBlankColumnAtFirst = false
        };

        // Save the file in XLSX format
        document.Save(dataDir + "PDFToXLS_out.xlsx", saveOptions);
    }
}

単一ExcelワークシートへのPDFの変換

ページ数の多いPDFファイルをXLSにエクスポートする場合、各ページはExcelファイルの異なるシートにエクスポートされます。これは、MinimizeTheNumberOfWorksheetsプロパティがデフォルトでfalseに設定されているためです。出力Excelファイルの1つのシートにすべてのページをエクスポートするには、MinimizeTheNumberOfWorksheetsプロパティをtrueに設定します。

PDFをXLSまたはXLSXの単一ワークシートに変換

  1. ソースPDF文書でDocumentオブジェクトのインスタンスを作成します。
  2. MinimizeTheNumberOfWorksheets = trueExcelSaveOptionsのインスタンスを作成します。
  3. Document.Save()メソッドを呼び出し、ExcelSaveOptionsを渡して単一ワークシートを持つXLSまたはXLSX形式で保存します。
 // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoExcelAdvanced_MinimizeTheNumberOfWorksheets()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            MinimizeTheNumberOfWorksheets = true
        };

        // Save the file in XLSX format
        document.Save(dataDir + "PDFToXLS_out.xlsx", saveOptions);
    }
}

他のスプレッドシート形式への変換

XMLスプレッドシート2003形式への変換

バージョン20.8以降、Aspose.PDFはデフォルトでデータを保存するためにMicrosoft Excel Open XMLスプレッドシート2007ファイル形式を使用します。PDFファイルをXMLスプレッドシート2003形式に変換するために、Aspose.PDFにはExcelSaveOptionsというクラスがあり、Formatがあります。ExcelSaveOptionsクラスのオブジェクトは、Document.Save(..)メソッドの第2引数として渡されます。

次のコードスニペットは、PDFファイルをXLS Excel 2003 XML形式に変換するプロセスを示しています。

PDFをExcel 2003 XML形式に変換

  1. ソースPDF文書でDocumentオブジェクトのインスタンスを作成します。
  2. Format = ExcelSaveOptions.ExcelFormat.XMLSpreadSheet2003ExcelSaveOptionsのインスタンスを作成します。
  3. Document.Save()メソッドを呼び出し、ExcelSaveOptionsを渡してXLS - Excel 2003 XML形式で保存します。
  // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
 private static void ConvertPDFtoExcelAdvanced_SaveXLS2003()
 {
     // The path to the documents directory
     var dataDir = RunExamples.GetDataDir_AsposePdf();

     // Open PDF document
     using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
     {
         // Instantiate ExcelSaveOptions object
         var saveOptions = new Aspose.Pdf.ExcelSaveOptions
         {
             Format = Aspose.Pdf.ExcelSaveOptions.ExcelFormat.XMLSpreadSheet2003
         };

         // Save the file in XLS format
         document.Save(dataDir + "PDFToXLS_out.xls", saveOptions);
     }
 }

CSVへの変換

CSV形式への変換は、上記と同様に行われます。必要なことは、適切な形式を設定することだけです。

PDFをCSVに変換

  1. ソースPDF文書でDocumentオブジェクトのインスタンスを作成します。
  2. Format = ExcelSaveOptions.ExcelFormat.CSVExcelSaveOptionsのインスタンスを作成します。
  3. Document.Save()メソッドを呼び出し、ExcelSaveOptionsを渡してCSV形式で保存します。
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToCSV()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            Format = Aspose.Pdf.ExcelSaveOptions.ExcelFormat.CSV
        };
        
        // Save the file in CSV format
        document.Save(dataDir + "PDFToXLS_out.csv", saveOptions);
    }
}

ODSへの変換

PDFをODSに変換

  1. ソースPDF文書でDocumentオブジェクトのインスタンスを作成します。
  2. Format = ExcelSaveOptions.ExcelFormat.ODSExcelSaveOptionsのインスタンスを作成します。
  3. Document.Save()メソッドを呼び出し、ExcelSaveOptionsを渡してODS形式で保存します。

ODS形式への変換は、他のすべての形式と同様に行われます。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToODS()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            Format = Aspose.Pdf.ExcelSaveOptions.ExcelFormat.ODS
        };

        // Save the file in ODS format
        document.Save(dataDir + "PDFToODS_out.ods", saveOptions);
    }
}

XLSMへの変換

PDFをXLSMに変換

  1. ソースPDF文書でDocumentオブジェクトのインスタンスを作成します。
  2. Format = ExcelSaveOptions.ExcelFormat.XLSMExcelSaveOptionsのインスタンスを作成します。
  3. Document.Save()メソッドを呼び出し、ExcelSaveOptionsを渡してXLSM形式で保存します。

XLSM形式への変換は、他のすべての形式と同様に行われます。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToXLSM()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            Format = Aspose.Pdf.ExcelSaveOptions.ExcelFormat.XLSM
        };

        // Save the file in XLSM format
        document.Save(dataDir + "PDFToODS_out.xlsm", saveOptions);
    }
}