0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【無料.NETソリューション】CSVからPDF及びDataTableへの高速変換

0
Last updated at Posted at 2025-10-29

CSVは軽量なデータキャリアとして、データ伝送における割合が70%を超えています。しかし、そのネイティブ形式には以下3点の主要な課題が存在します。

  • 可視化上の課題:直接印刷可能なレポートを生成できない点
  • 構造上の制約:データ型の定義や関係制約が欠けている点
  • セキュリティリスク:誤操作による編集が容易で、データの不正確化を招きやすい点

そのため、印刷や共有の利便性を向上させるためにCSVファイルをPDF形式に変換したり、プログラムによるデータ処理のためにDataTableに変換したりするニーズが高くなっています。本文では、無料ライブラリ「Free Spire.XLS for .NET」を活用し、これら2種類の変換を効率的に実現する方法を紹介します。

目次

  1. 準備作業
  2. C#コード:CSVをPDFに変換
  3. C#コード:CSVをDataTableに変換
  4. アプリケーションシナリオ
  5. まとめ

1. 準備作業

NuGetパッケージマネージャー経由でFree Spire.XLSをインストールします。パッケージ管理コンソールを開き、以下のコマンドを入力してください。

Install-Package FreeSpire.XLS  

または、Visual Studio内で「FreeSpire.XLS」を検索し、最新の無料版をインストールすることも可能です。

⚠️ 無料版の制限事項についてはこちらをクリック

2. C#コード:CSVをPDFに変換

using Spire.Xls;
using System.Drawing;

namespace CSVtoPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // ワークブックオブジェクトを初期化
            Workbook workbook = new Workbook();

            // CSVファイルを読み込み
            workbook.LoadFromFile("sample.csv", ",", 1, 1);

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

            // テーブルスタイルを設定
            sheet.AllocatedRange.Style.Color = Color.White;       // セルの背景色:白色
            sheet.AllocatedRange.Style.Font.Color = Color.Black; // フォントの色:黒色
            sheet.AllocatedRange.Style.Font.Size = 11;           // フォントサイズ:11pt
            sheet.AllocatedRange.AutoFitColumns();               // 列幅を自動的に調整
            sheet.AllocatedRange.AutoFitRows();                  // 行高を自動的に調整

            // ヘッダースタイルを設定
            // ヘッダーのセル範囲(1行目、1列目~最終列)を指定
            CellRange header = sheet.Range[1, 1, 1, sheet.Columns.Length]; 
            header.Style.Color = Color.LightGreen; // ヘッダーの背景色:薄緑色
            header.Style.Font.IsBold = true;       // ヘッダーのフォント:太字

            // PDFエクスポートオプションを設定
            workbook.ConverterSetting.SheetFitToPage = true;  // ワークシートをPDFページサイズに自動適合
            workbook.ConverterSetting.SheetFitToWidth = true; // ワークシートをPDFの幅に自動適合
            workbook.ConverterSetting.JPEGQuality = 100;      // JPEG品質:100(最高品質)

            // CSVファイルをPDFファイルとして保存
            sheet.SaveToPdf("CSVtoPDF.pdf");
        }
    }
}

主要機能の解説

自動フォーマット

  • AutoFitColumns() / AutoFitRows():データ内容に合わせて列幅と行高を自動的に調整
  • ヘッダーの自動太字化と背景色設定(可読性向上)

スタイルカスタマイズ

  • フォント(色・サイズ)、セル背景色などのスタイルを柔軟に設定可能
  • 例:Color.LightGreenでヘッダーの背景を薄緑色に設定するなど、視覚設計に対応

PDF最適化オプション

  • SheetFitToPage:ワークシート全体をPDFページに収まるよう自動調整
  • SheetFitToWidth:ワークシートの幅をPDFページの幅に合わせて調整
  • JPEGQuality:PDF内に含まれる画像の品質を0~100の範囲で制御

変換効果例:

CSV-PDF.png

3. C#コード:CSVをDataTableに変換

Free Spire.XLSを使用すると、CSVファイルをワークブックオブジェクトに読み込み、指定したワークシートを取得後、ExportDataTable()メソッドを呼び出すだけで、直接DataTableに変換できます。

using Spire.Xls;

namespace CSVtoDataTable
{
    class Program
    {
        static void Main(string[] args)
        {
            // ワークブックオブジェクトを初期化
            Workbook workbook = new Workbook();

            // CSVファイルをワークブックに読み込み(区切り文字:カンマ、開始行番号:1、開始列番号:1)
            workbook.LoadFromFile("在庫.csv", ",", 1, 1);

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

            // 1番目のワークシートのデータをDataTableにエクスポート
            sheet.ExportDataTable();
        }
    }
}

DataTableのメリット

  • メモリ効率に優れる:大規模データセットを低メモリ消費で効率的に処理可能
  • エコシステムとの連携性:Pandas(データ分析ライブラリ)とシームレスに連携し、分析ワークフローを構築できる
  • 操作の便利性:SQLクエリ形式のデータフィルタリングやソートなど、直感的な操作をサポート

4. アプリケーションシナリオ

変換タイプ 最適なシナリオ
CSVからPDFへの変換 監査報告書の作成、印刷用文書の生成、記録のアーカイブ
CSVからDataTableへの変換 データクレンジング(不適切データの除去)、管理用バックエンド開発、リアルタイムデータ分析

5. まとめ

Free Spire.XLS for .NETを通じたCSV変換は、以下の特長を備えています。

  • 📄 PDFエクスポート:プロフェッショナルレベルの印刷可能文書を簡単に生成
  • 🗂️ DataTable変換:メモリ効率の良い高速なデータ処理を実現
  • ⚡無料かつ低依存:Excel環境を必要とせず、無料で高い汎用性を発揮

※ C#/.NETを使用したCSVおよびExcelファイルの処理に関するその他の例を探す

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?