IRONSOFTWAREHOME
他のコンポーネントと比較する

IronXLとCsvHelperの比較

Curtis Chau
Curtis Chau
Updated: 2026年7月19日

CSVファイルの操作は、挑戦的な作業になることがあります。 多くのライブラリが、Microsoft Excelをインストールせずに開発者を支援します。

この記事では、C# .NET技術を使用して、CSV形式または標準のXLSX形式のMicrosoft Excel文書をプログラム的に操作する方法を、IronXLとCsvHelperという2 つの最も人気のあるライブラリを使用して比較しながら説明します。

まずは両方のライブラリが提供するものを見てみましょう。

IronXLライブラリ

IronXLは、C#でMicrosoft Excel文書の読み取りと編集を容易にする.NETのライブラリです。 IronXL.Excelは、さまざまなスプレッドシート形式を読み取るためのスタンドアローン for .NETソフトウェアライブラリです。 Microsoft Excelのインストールは不要であり、Interopにも依存しません。CSVファイルととてもスムーズに動作します。

IronXLは直感的なC# APIであり、Excelスプレッドシートファイルを.NETで超高速で読み取り、編集、作成できます。 IronXLは、.NET Core、.NET Framework、Xamarin、モバイル、Linux、macOS、およびAzureを完全にサポートしています。

IronXLは、C#向けのリーディング.NET Coreおよび.NETフレームワークのExcelスプレッドシートライブラリです。

IronXLの機能セット

  • データをロード、読み取り、編集 — XLS/XLSX/CSV/TSV から
  • 保存とエクスポート — XLS/XLSX/CSV/TSV/JSON へ
  • レンジ — 使いやすいWorkSheet["A1:B10"]構文。 直感的に範囲を結合・作成します。
  • ソート — 範囲、列、行のソート。
  • スタイリング — セルの視覚スタイル、フォント、サイズ、背景パターン、境界線、配置、数値フォーマット。

CsvHelper

CSVファイルの読み取りと書き込みを行う.NETライブラリ。 非常に高速で柔軟、かつ使いやすい。 カスタムクラスオブジェクトの読み書きをサポート。 すべてのサンプルコードはCsvHelperのドキュメント内にあります。

CsvHelperの特徴

  • 高速: クラスをフライでコンパイルして極めて高速なパフォーマンスを実現
  • 柔軟: 書き込みは保守的、読み込みは自由
  • 使いやすさ: 読み書きがWriteRecords(records)と同様に簡単です。
  • 高度に設定可能
  • Linux対応モード
  • メモリ使用量が少ない

1. コンソールアプリケーションを作成

コンソールアプリケーションを作成する手順は以下の通りです:

  • Visual Studio 2022 IDE を開始します。
  • "新しいプロジェクトを作成"をクリックします。
  • "新しいプロジェクトを作成"ページで、言語ドロップダウンリストから C# を選択し、プラットフォーム リストから Windows を、そしてプロジェクトタイプリストから コンソール を選択します。
  • 表示されるプロジェクトテンプレートから Console App (.NET Framework) を選択します。

プロジェクトの作成 - コンソールアプリケーション

  • 次へをクリックします。
  • 追加情報画面で使用したいフレームワークバージョンを指定します。 この例では**.NET Framework 4.8**を使用します。

プロジェクトの作成 - .NET Framework

  • 作成をクリックしてプロセスを完了します。

プロジェクトが作成され、ライブラリのテストの準備がほぼ整いました。 ただし、ライブラリをプロジェクトにインストールして統合する必要があります。 まずIronXLをインストールしましょう。

2. IronXL C# ライブラリのインストール

IronXLライブラリをダウンロードしてインストールする方法としては以下のものがあります:

  1. Visual StudioでNuGetパッケージを使用します
  2. NuGet パッケージを直接ダウンロードします
  3. DLLで手動インストールします

それぞれを詳しく見ていきましょう。

2.1. NuGetパッケージを使用したVisual Studio経由で

Visual Studioは、NuGetパッケージをプロジェクトにインストールするNuGetパッケージマネージャーを提供しています。 これにアクセスするには、プロジェクトメニューを通じて、またはソリューションエクスプローラでプロジェクトを右クリックして行います。

NuGet パッケージの管理を選択

  • 今度は、ブラウズ タブから、IronXL.Excel を検索 -> インストールします

IronXLを検索

  • 完了しました。

2.2. NuGetパッケージを直接ダウンロード

これはNuGetサイトに直接アクセスしてパッケージをダウンロードすることによって行うことが可能です。 手順は次の通りです:

  • https://www.nuget.org/packages/IronXL.Excel に移動します
  • "パッケージをダウンロード"を選択
  • ダウンロードしたパッケージをダブルクリックします
  • パッケージがインストールされます
  • Visual Studio プロジェクトをリロードして、使用を開始します

2.3. DLLで手動インストール

もう一つのIronXL C#ライブラリをダウンロードしてインストールする方法は、Developer Command Promptを使用してIronXL NuGetパッケージをインストールする以下の手順を実行することです。

  • 開発者コマンドプロンプト を開く — 通常は Visual Studio フォルダ内にあります。
  • 次のコマンドを入力してください: PM> Install-Package IronXL.Excel
  • Enterキーを押します
  • これにより、パッケージのダウンロードとインストールが行われます
  • Visual Studio プロジェクトをリロードして、使用を開始します

2.4. 必要なusingディレクティブを追加

  1. ソリューションエクスプローラーで Program.cs ファイルを右クリックして、[コードの表示] をクリックします。
  2. コードファイルの冒頭に以下のusingディレクティブを追加します。
using IronXL;

これで完了です! IronXLはダウンロードされ、インストールされ、使用準備が整いました。 ただし、その前に CsvHelper をインストールするべきです。

3. CsvHelper のインストール

3.1. NuGet パッケージ マネージャー コンソールを使う場合

CsvHelper C# ライブラリをダウンロードしてインストールするには、開発者コマンドプロンプトを介して NuGet パッケージ をインストールするための次の手順を使用します。

  • 開発者コマンドプロンプト を開く — 通常は Visual Studio フォルダ内にあります。
  • 次のコマンドを入力してください: PM> Install-Package CsvHelper -Version 27.2.1
  • Enterキーを押します
  • これにより、パッケージのダウンロードとインストールが行われます
  • Visual Studio プロジェクトをリロードして、使用を開始します

3.2. 直接ダウンロード

NuGetウェブサイトからダウンロードしてください: https://www.nuget.org/packages/CsvHelper

4. IronXL を使用した CSV ファイルの操作

***カンマ区切り値 (CSV)***ファイルは、カンマを使って値を分ける区切りテキストファイルです。 ファイルの各行はデータレコードです。 これらのファイルを計算のために操作することは挑戦的な作業になる可能性があり、IronXLはMicrosoft Excelなしでそれを行うための非常に良い簡単なオプションを提供しています。 まず最初に、CSVファイルを通常のExcelファイルに変換しましょう。

4.1. CSVファイルをExcel形式に変換

このプロセスは非常に簡単で簡潔です。 通常、1行のコードで完了します。

CSVからExcel形式へ:

// Load the CSV file and convert it to an Excel format
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Access the default worksheet
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");

4.2. IronXL を使用して変換された CSV ファイルを読み取りおよび操作

IronXLのWorkBookクラスはExcelシートを表します。 C#を使用してExcelファイルを開くには、WorkBook.Loadを使用し、Excelファイル(.xlsx)のパスを指定します。 以下の1行コードは、読み取りのためにファイルを開くために使用されます:

// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets/sample.xlsx");

WorkSheetオブジェクトを含むことができます。 これらはExcelドキュメントのワークシートを表しています。 ワークブックにワークシートがある場合、次のようにして名前で取得します:

// Open the sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");

セル値を読み取るためのコード:

// Read from ranges of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

ワークブックとワークシートを読み込んだ後、次のコード例を使用して、数式の変更を行ったり、特定のセルに適用することができます。 コードは次の通りです:

// Set formulas in specific cells
worksheet["A1"].Formula = "SUM(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "MAX(C3:C7)";

// Force recalculate all formula values in all sheets
workbook.EvaluateAll();

4.3. Excel文書をCSVファイルに保存する

CSVファイルの書き込みは、IronXLを使用することで簡単なプロセスです。 以下のコードは、SaveAsCsvメソッドを使用して、ExcelファイルをCSV形式で単純に保存します。

// Load the Excel Workbook
WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx");

// Save the workbook as a CSV file
wb.SaveAsCsv("SaveAsCSV.csv", ",");
// This will save as "SaveAsCSV.Sheet1.csv"

5. CsvHelper を使用した CSV ファイルの操作

CSVファイルの読み取りは、想像よりも難しいことがあるタスクのひとつです。 CsvHelperライブラリは、型安全で高速かつ柔軟なコードを書きやすくしてくれます。

5.1. CsvHelperでCSVファイルを読み込む

こちらがサンプルのCSVファイルです。それには3つのテキストカラムと1つのナンバーカラムがあります。

FirstName,LastName,Age,IsActive
Ali,Talal,30,Yes
Affan,Ahmad,31,No
Saad,Bhatti,31,Yes
Text

各行をPerson型のオブジェクトにマッピングします。

// Define the Person class to map CSV records
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int? Age { get; set; }
    public string IsActive { get; set; }
}

私たちのCSVファイルを読むためのコードは以下です。

// Define the path to the CSV file
var fileName = @"<path to our CSV file>";

// Configure CsvHelper
var configuration = new CsvConfiguration(CultureInfo.InvariantCulture)
{
    Encoding = Encoding.UTF8,
    Delimiter = ","
};

// Read CSV file
using (var fs = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
    using (var textReader = new StreamReader(fs, Encoding.UTF8))
    using (var csv = new CsvReader(textReader, configuration))
    {
        var data = csv.GetRecords<Person>();
        
        // Iterate over each person record
        foreach (var person in data)
        {
            // Process each Person object
        }
    }
}

IEnumerable<Person>です。 CsvHelperは、それぞれのカラムを同じ名前のプロパティに自動的にマッピングします。 例えば、Person.FirstNameにマッピングされます。 その後、dataを反復して各行の値にアクセスできます。

5.2. CSVファイル内のデータをある型から別の型へ変換する

CSVファイルは主にテキストデータを含んでいます。 例えば、年齢カラムは整数値であり、CSVファイルはテキストのみを含んでいます。 CsvHelperは、文字列から標準 for .NET型(Boolean, Int32, Int64, Enum)にデータを変換することができます。 我々の場合、True/Falseのみを持ち、標準外の値を含みます。 カスタムコンバーターを作成することで、これを変換することができます。 コードのスタイリングは次の通りです。

// Custom Boolean Converter for CsvHelper
public class CustomBooleanConverter : DefaultTypeConverter
{
    public override object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData)
    {
        // Convert "Yes" to true and anything else to false
        return text.Equals("Yes", StringComparison.OrdinalIgnoreCase);
    }
}

たとえYes/Noがあります。 ここで、ConvertFromStringメソッドをオーバーライドする必要があります。

6. ライセンス

IronXLはオープンに商用化されているC# Excelライブラリです。 開発には無料で使用でき、商用デプロイメントのためにいつでもライセンスを取得できます。 ライセンスは単一プロジェクトの使用、単一開発者、エージェンシー、グローバル企業、SaaSおよびOEM再配布のために利用可能です。 すべてのライセンスには30日間の返金保証、1年間の製品サポートとアップデート、デブ/スタージング/プロダクションのための有効性、および永久ライセンス(1回の購入)が含まれています。 Liteパッケージは$999から始まります。

CsvHelper — CSVファイルの読み取りと書き込みは商業利用に完全に無料です。

7. まとめと結論

概要

IronXLはExcelファイルを操作するために必要なすべてを提供する完全なライブラリです。使用が簡単で、さまざまな形式をXLSXに、またXLSXをCSVなどの他の形式に変換する機能を提供します。この相互変換は、さまざまなファイル形式を簡単に操作する柔軟性をユーザーに提供します。

一方、CsvHelperは、CSVファイル形式と特に連携するために設計されており、CSVファイルのみを処理できます。 すべてのサンプルコードはCsvHelperのドキュメントファイルにあります。 ドキュメントでは、プロジェクトでCsvHelperを使用する方法についてのガイドラインが示されています。

結論

IronXLは複数の形式で作業するユーザーをサポートしているため、CsvHelperに対して明らかな利点があります。 さらに、選択に応じて数式やスタイルを適用することができますが、CsvHelperは限られたオプションでCSVファイルの読み書きしかできません。 また、既存のCSVファイルに新しいレコードを追加することはできません。以前のエントリが上書きされるだけです。

ご注意: CsvHelperの登録商標はその所有者に帰属します。 このサイトはCsvHelperと提携しておらず、承認またはスポンサーされていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。
Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。