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

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

変換シーン

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

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

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

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

 

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

 

詳細なコード

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

using Spire.Xls;

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);
                    }
            }
    }

結果を展示する:

f:id:uha_noki:20210927155009p:plain

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 workbook = new Workbook();
                        workbook.LoadFromFile("例.xlsx");
                        Worksheet sheet = workbook.Worksheets[0];
                        sheet.SaveToPdf("エクスポート1.pdf");
                    }
            }
    }

結果を展示する:

f:id:uha_noki:20210927155049p:plain

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");
        }
    }
}

結果を展示する:

f:id:uha_noki:20210927155219p:plain

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