0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#でCSVをPDFに変換する方法

Posted at

業務データやレポートは、CSV形式で保存されるケースが多いですが、CSVはそのままでは視認性が低く、印刷や共有にはあまり向いていません。そこで、CSVを整ったレイアウトでPDFファイルに変換して保存しておくと、配布・印刷・アーカイブに非常に便利です。

本記事では、C#でCSVファイルをPDFに変換する方法を紹介します。さらに、表の書式設定やページ設定など、実務で役立つ拡張操作についても解説します。


環境準備

まず、Free Spire.XLS for .NET をプロジェクトに導入します。NuGetパッケージマネージャーを利用:

Install-Package FreeSpire.XLS

CSVをPDFに変換する基本手順

Step 1: CSVファイルを読み込む

Workbook クラスを利用してCSVを開きます。

using Spire.Xls;

Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.csv", ",", 1, 1);

Step 2: 基本変換パラメータの設定

表データが隠れないように列幅を自動調整する設定や、基本的なページ設定など。

for (int i = 1; i <= workbook.Worksheets[0].Columns.Count(); i++)
{
    workbook.Worksheets[0].AutoFitColumn(i);
}
workbook.ConverterSetting.SheetFitToPage = true;

Step 2: PDFに変換して保存する

読み込んだワークブックをそのままPDFに保存します。

// 最初のシートを取得
Worksheet sheet = workbook.Worksheets[0];

// PDFに保存
workbook.SaveToFile("Output/CSVtoPDF.pdf", FileFormat.PDF);

これで、CSVファイルをPDF形式に変換できます。


完全なC#コード例

using Spire.Xls;

class Program
{
    static void Main(string[] args)
    {
        // CSV ファイルを読み込む
        Workbook workbook = new Workbook();
        workbook.LoadFromFile("Sample.csv", ",", 1, 1);

        // 基本的な変換パラメータを設定する
        // 列幅を自動調整(表の内容が隠れないようにする)
        for (int i = 1; i <= workbook.Worksheets[0].Columns.Count(); i++)
        {
            workbook.Worksheets[0].AutoFitColumn(i);
        }
        workbook.ConverterSetting.SheetFitToPage = true;  // 表をページに合わせる

        // PDF ファイルに変換する
        workbook.SaveToFile("Output/CSVtoPDF.pdf", FileFormat.PDF);

        Console.WriteLine("CSV は正常に PDF に変換されました。");
    }
}

出力イメージ:

C#でCSVをPDFに変換


応用例

1. 表のスタイルやフォントを設定

CSVをそのままPDFにすると、見た目がシンプルすぎることがあります。Worksheet のスタイル機能を使えば、より見やすい表にできます。

Worksheet sheet = workbook.Worksheets[0];

// ヘッダー行を太字に
CellRange header = sheet.Range["A1:D1"];
header.Style.Font.IsBold = true;
header.Style.Color = System.Drawing.Color.LightGray;

// 罫線を追加
sheet.AllocatedRange.Borders.LineStyle = LineStyleType.Thin;

// 列幅を自動調整
sheet.AllocatedRange.AutoFitColumns();

// 再度PDF出力
workbook.SaveToFile("Output/CSVtoPDF_Styled.pdf", FileFormat.PDF);

2. ページサイズや余白を調整

印刷用にPDFを作成する場合、ページレイアウトの調整も重要です。

Worksheet sheet = workbook.Worksheets[0];

// A4横向きに設定
sheet.PageSetup.PaperSize = PaperSizeType.PaperA4;
sheet.PageSetup.Orientation = PageOrientationType.Landscape;

// 余白設定(単位:インチ)
sheet.PageSetup.TopMargin = 0.5;
sheet.PageSetup.BottomMargin = 0.5;
sheet.PageSetup.LeftMargin = 0.5;
sheet.PageSetup.RightMargin = 0.5;

// 再度PDF出力
workbook.SaveToFile("Output/CSVtoPDF_PageSetup.pdf", FileFormat.PDF);

3. 複数CSVをまとめてPDF化

複数のCSVを1つのPDFにまとめることも可能です。

Workbook mergedWorkbook = new Workbook();

// 1つ目のCSVを読み込み
mergedWorkbook.LoadFromFile("Data1.csv", ",", 1, 1);

// 2つ目以降を追加
Workbook temp = new Workbook();
temp.LoadFromFile("Data2.csv", ",", 1, 1);
mergedWorkbook.Worksheets.AddCopy(temp.Worksheets[0]);

// まとめてPDFに保存
mergedWorkbook.SaveToFile("Output/MergedCSVs.pdf", FileFormat.PDF);

まとめ

本記事では、C#で Free Spire.XLS for .NET を使い、CSVをPDFに変換する方法を紹介しました。基本手順は次の通りです。

  1. CSVを読み込む
  2. PDFに変換して保存する

さらに、スタイル設定ページレイアウト調整複数CSVをまとめるといった応用操作も実現できます。

この方法を活用すれば、日常業務のCSVデータを見やすいPDFに変換でき、印刷や共有も効率的に行えるようになります。

より詳しい情報は公式ドキュメントをご覧ください: Spire.XLS for .NET チュートリアルセンター

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?