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");
}
}
}
結果を展示する:
以上はこの三つの変換シーンの実現方法でした、お助けになると幸いです。