C#を利用してExcelをPDFに変換する

 

変換シーン

ExcelをPDFに変換するのはよく使われている機能です、一般的な変換シーンは以下の3種があります:

・Excelドキュメント全体をPDFに変換する

・Excelドキュメントの一つのワークシートをPDFに変換する

・Excelドキュメントの一つのワークシートの一部のセルをPDFに変換する

 

皆さんの知ってるとおり、Officeには、ExcelをPDFにエクスポートする機能が組み込まれていますが、指定された一部のセルの内容をPDFに変換することができません。今回は皆さんに無料のExcelコンポーネント、Free Spire.XLSを紹介し、そして以上三つの変換シーンを実現する方法を話しましょう。

 

詳細なコード

 

コンポーネントをインストール完了した後、C#コンソールアプリプロジェクトを作成する、dllを追加して以下の名前空間を使用する:

using System;

 

Excelドキュメント全体をPDFに変換する

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Xls;

namespace ConsoleApp10
{
    class Program
    {
        static void Main(string[] args)
        {
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("例.xlsx");
            workbook.SaveToFile("エクスポート.pdf", FileFormat.PDF);            
        }
    }
}

結果を展示する:

 

1番目のページはExcelドキュメントの1番目のワークシートであり、2番目のページはExcelドキュメントの2番目のワークシートです。

 

Excelドキュメントの一つのワークシートをPDFに変換する

1番目のワークシートをPDFに変換する:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Xls;

namespace ConsoleApp10
{
    class Program
    {
        static void Main(string[] args)
        {          
            workbook.LoadFromFile("例.xlsx");
            Worksheet sheet = workbook.Worksheets[0];
            sheet.SaveToPdf("エクスポート1.pdf");         
        }
    }
}

結果を展示する:

 

Excelドキュメントの一つのワークシートの一部のセルをPDFに変換する

 

1番目のワークシートのA1からA8までのセルをPDFに変換する

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Xls;

namespace ConsoleApp10
{
    class Program
    {
        static void Main(string[] args)
        {
            // Excelドキュメントをロードする
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("例.xlsx");

            //1番目のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //プリントエリアを設置する(変換したいセルの範囲を設置する)
            sheet.PageSetup.PrintArea = "A1:A8";

            //指定された範囲内のセルをPDFとして保存する            
            sheet.SaveToPdf("エクスポート2.pdf");
        }
    }
}

結果を展示する:

 

以上はこの三つの変換シーンの実現方法でした、お助けになると幸いです。