フッターコンテンツにスキップ
IRONXLの使用

C# CSVパーサー(ステップバイステップ)チュートリアル

IronXLを使えば、わずか2行のコードでC#からCSVファイルを解析し、Excel形式との間で変換できます。 このチュートリアルでは、 IronXLライブラリのシンプルなAPIを使用して、XLSX、XLS、およびTSVファイルをCSV形式に変換する方法を説明します。これにより、複雑な手動解析コードを作成する必要がなくなります。 このライブラリはファイル形式変換の複雑な処理をすべて内部的に行うため、大掛かりなコードを書かずに迅速かつ確実にCSV解析を行う必要がある開発者にとって最適です。

.NETで重要なタスクを実行するために、CSVファイルを解析してXLSXファイルに変換したり、XLSXファイルをCSVファイルに変換したりしようとして行き詰まったことはありませんか?しかし、大量のコードを書かずにそれを実現する方法が分からなかった経験はありませんか?

この問題を解決するための多くのCSVライブラリが存在します。 しかし、このチュートリアルでは、 IronXL C# Excelライブラリを使用して、わずか2行のコードでこれらのタスクを実行します。 区切り文字の手動解析や特殊なケースの処理を必要とする従来のアプローチとは異なり、 IronXLはWindows、Linux、macOSなど、さまざまなプラットフォームで動作する堅牢でテスト済みのソリューションを提供します。

始めるのに必要なのはVisual Studioだけです。 詳しいインストール手順については、以下の説明をご覧ください。 このチュートリアルは、C# の基本的な知識を持ち、相互運用性への依存なしに Excel ファイルを操作したい開発者向けに設計されています。

Visual Studio で新しいプロジェクトを作成するにはどうすればよいですか?

Visual Studioエディタを開きます。

Visual Studioのファイルメニューに移動します。 "新しいプロジェクト"を選択し、コンソールアプリケーションを選択します。 これにより、Excelファイルの作成方法や操作方法を学ぶのに最適な、シンプルなプロジェクト構造が作成されます。

プロジェクト名を入力し、プロジェクトの場所を選択します。 次に、 "作成"ボタンをクリックしてプロジェクトを作成します。 以下のスクリーンショットに示されているように、要求される.NET Frameworkを選択します:

Visual Studio の新規プロジェクト構成ダイアログ。プロジェクト名図 1: Visual Studio で.NET Framework 4.7.2 を使用して新しい C# コンソール アプリケーション プロジェクトを構成する

program.cs ファイルが開くので、ロジックを入力してアプリケーションを作成/実行できます。 ここに、IronXLの使いやすいAPIを使用してCSV解析コードを追加します。

IronXL C#ライブラリはどのようにインストールすればよいですか?

IronXLライブラリは、多くの異なる方法でダウンロードおよびインストールできます。 本日は、Professional育成の現場で最も一般的に用いられている2つの方法に焦点を当てます。

  • Visual Studio NuGet パッケージ マネージャーの使用
  • Visual Studioを使用する

どちらの方法も効果は同じで、どちらを選ぶかはグラフィカルインターフェースを好むか、コマンドラインツールを好むかによって決まります。 さまざまな環境における詳細なインストール手順については、公式ドキュメントを参照してください。

Visual StudioのNuGetパッケージマネージャーを使うべきでしょうか?

NuGetパッケージマネージャーUIはVisual Studioで利用可能で、プロジェクトに直接パッケージをインストールできます。 この方法は、視覚的なインターフェースを好み、インストール前にパッケージの詳細を確認したい開発者にとって特に便利です。 以下のスクリーンショットは、そのファイルを開く方法を示しています。

Visual Studio interface showing the Tools menu expanded with NuGet Package Manager option highlighted, and a secondary menu showing 'Manage NuGet Packages for Solution' selected Access the NuGet Package Manager in Visual Studio by navigating to Tools > NuGet Package Manager > Manage NuGet Packages for Solution

パッケージマネージャーのUIには、 NuGet Webサイトで利用可能なパッケージライブラリの一覧を表示する"参照"機能があります。下のスクリーンショットに示すように"IronXL"と入力すると、 IronXLパッケージが見つかります。 IronXLが提供する関連するExcel操作機能もぜひ活用してみてください。

Visual Studio のNuGetパッケージ マネージャー インターフェイスでIronXl.Excel パッケージの検索結果を表示しています。バージョン 2022.9.9454 が選択され、 Visual Studio のNuGetパッケージ マネージャーにIronXl.Excel ライブラリが表示されています。このライブラリを使用すると、開発者は.NETアプリケーションで Excel ファイルの読み取り、生成、編集を行うことができます。 このパッケージは25万ダウンロードを記録し、バージョン2022.9.9454がインストール準備完了として表示されています。

IronXl.Excel パッケージを選択し、 [インストール]ボタンをクリックしてプロジェクトに追加します。 インストールプロセスでは、すべての依存関係が自動的に処理され、 Excel ファイル操作用にプロジェクトが構成されます。

Visual Studioのコマンドラインはどのような場合に使用すべきですか?

Visual Studioメニューで、ツール > NuGetパッケージマネージャー > パッケージマネージャーコンソールをクリックします。 この方法は、コマンドラインインターフェースに慣れている開発者や、ビルドスクリプトでインストールプロセスを自動化する必要がある開発者に好まれます。

Visual Studio インターフェイスで、ツール メニューが展開され、 NuGetパッケージ マネージャー オプションが強調表示され、パッケージ マネージャー コンソール ウィンドウが下部に開いている状態 Visual Studio でNuGetパッケージ マネージャー コンソールを開いて CSV 解析ライブラリをインストールします

パッケージマネージャーコンソールは画面の下部に表示されます。 以下のコマンドを入力してEnterキーを押してください。 IronXLがインストールされます。 この方法は、特定のバージョンをインストールする必要がある場合や、 AzureまたはAWS環境向けのデプロイスクリプトを操作する場合に特に役立ちます。

Install-Package IronXL.Excel

Visual Studio のパッケージ マネージャー コンソールにIronXl.Excel NuGetパッケージのインストールとダウンロード成功の確認が表示されますパッケージ マネージャー コンソールには、 IronXl.Excel バージョン 2022.11.10251 のインストールが成功したことが表示され、パッケージの復元プロセスとNuGetリポジトリからのダウンロード確認が表示されます。

IronXLでCSVファイルを解析するにはどうすればよいですか?

CSVを手動で解析するには、膨大な正確なコードを書く必要がありますが、IronXLを使えば数行のコードで済みます。 このシンプルさは、異なるスプレッドシート形式間で迅速に変換する必要がある場合に特に役立ちます。

CSV形式のファイルを解析するために従来のC#コードだけを使用すると、非常に多くの冗長なコードが必要になります。 従来の手法を用いてこれを実現するためのコード例を以下に示します。

using FileHelpers;
using System;

namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;
        public string Age;
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Create a FileHelperEngine for the Record class
            var fileHelperEngine = new FileHelperEngine<Record>();

            // Read records from the CSV file into an array
            // Note: This requires proper error handling for production use
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            // Print each record's Name and Age
            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
using FileHelpers;
using System;

namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;
        public string Age;
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Create a FileHelperEngine for the Record class
            var fileHelperEngine = new FileHelperEngine<Record>();

            // Read records from the CSV file into an array
            // Note: This requires proper error handling for production use
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            // Print each record's Name and Age
            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
$vbLabelText   $csharpLabel

しかし、 IronXLを使えば、わずか数行のコードでこれを実現でき、エラー処理機能や様々なファイル形式への対応も組み込まれています。

IronXLを使用すると、XLSX、XLS、TSVなどからCSVファイルを解析できます。 このライブラリは、 ASP.NETアプリケーションおよびBlazorアプリケーションでのExcelファイルの読み込みもサポートしています。 このチュートリアルでは、次の変換を探ります:

  1. XLSXファイルからCSVファイルを解析する
  2. XLSファイルからCSVファイルを解析する
  3. TSVファイルからCSVファイルを解析する

XLSXファイルをCSVファイルに変換するにはどうすればよいですか?

Microsoft Excelを開き、新しいXLSXファイルを作成します。それにいくつかの擬似データを行と列に入力します。 本番環境では、 IronXLを使用してプログラムで Excel ファイルを作成することをお勧めします。 下の画像は、このチュートリアルにおけるすべての変換に使用されるファイルを示しています。

Axe、Pen、Charger、およびHeadsetsのデータを含む、アイテム、数量、価格、合計の列を持つシンプルな在庫テーブルを示すExcelスプレッドシート図6:C#でのCSV解析のデモンストレーションに使用される基本的な在庫構造を示すExcelデータのサンプル

ファイルが準備できたら、以下のサンプルコードを書いてプログラムを実行してください。 IronXLは、特殊文字やデータ型の適切な処理を含め、複雑な解析処理をすべて内部的に行います。

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        // The Load method automatically detects the file format
        WorkBook wb = WorkBook.Load("test.xlsx");

        // Save the WorkBook as a CSV file
        // This method handles all formatting and conversion automatically
        wb.SaveAsCsv("Parsed CSV.csv");

        // Optional: Save with custom delimiter
        // wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        // The Load method automatically detects the file format
        WorkBook wb = WorkBook.Load("test.xlsx");

        // Save the WorkBook as a CSV file
        // This method handles all formatting and conversion automatically
        wb.SaveAsCsv("Parsed CSV.csv");

        // Optional: Save with custom delimiter
        // wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
    }
}
$vbLabelText   $csharpLabel

実行が完了すると、 "Parsed CSV.csv"という名前の新しいファイルが作成されます。 CSVファイルは、お好みのエディタやリーダーで読み込むことができます。また、 CSVデータをExcelにインポートして、さらに加工することも可能です。 下の画像は、上記のコマンドの出力結果、つまり生成されたCSVデータを示しています。 出力ファイルでは、二重引用符が太字の値を表しています。

SaveAsCsv メソッドによって生成されたCSV出力。変換されたExcelデータがカンマ区切り形式で表示されます。

XLSファイルをCSVファイルに変換する手順は何ですか?

この例では、XLSファイルをCSV形式に変換する方法を見ていきます。 このプロセスはXLSX変換と全く同じであり、IronXLが様々なExcelファイル形式を処理できる汎用性の高さを示しています。

まず、例として使用するXLSファイルを作成し、CSV形式に変換します。 XLSは古いExcel形式ですが、 IronXLは最新の形式と並行してシームレスに処理します。

Microsoft Excel スプレッドシートには、アイテム、数量、価格、合計の列があり、斧、ペン、充電器、ヘッドセット、のこぎりなどのさまざまなツールとその数量、計算された合計が表示され、総計は 1239 になります。図 8: 自動計算を含む在庫データ構造を示す Excel ファイルのサンプル。C# CSV ライブラリを使用して解析できます。

次に、以下のコードブロックを実行して、サンプルXLSファイルをCSVファイルに変換します。IronXLは、変換中に数式や計算結果を含むデータの整合性を維持します。

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        // IronXL automatically handles the older XLS format
        WorkBook wb = WorkBook.Load("XLS.xls");

        // Save the WorkBook as a CSV file
        // All formulas are evaluated and results are exported
        wb.SaveAsCsv("Example2.csv");

        // Optional: Export specific worksheet
        // WorkSheet ws = wb.GetWorkSheet("Sheet1");
        // ws.SaveAsCsv("Example2.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        // IronXL automatically handles the older XLS format
        WorkBook wb = WorkBook.Load("XLS.xls");

        // Save the WorkBook as a CSV file
        // All formulas are evaluated and results are exported
        wb.SaveAsCsv("Example2.csv");

        // Optional: Export specific worksheet
        // WorkSheet ws = wb.GetWorkSheet("Sheet1");
        // ws.SaveAsCsv("Example2.csv");
    }
}
$vbLabelText   $csharpLabel

上記のコードの実行が完了すると、新しいCSVファイルが生成されます。より複雑なシナリオでは、エクスポートする前に特定の範囲を選択したり、データを並べ替えたりする必要があるかもしれません。

WordPad ウィンドウには、AXE、ペン、充電器、ヘッドセット、SAW のエントリを含むアイテム、数量、価格、合計を含む CSV ファイルが表示されています。 WordPad で開かれた CSV ファイルの例には、ヘッダーと複数の製品エントリを含む、適切にフォーマットされたカンマ区切りのデータが表示されています。

TSV形式のファイルからCSVファイルを解析するにはどうすればよいですか?

表計算ソフトは、データベース間でデータを転送するために、TSVファイル(タブ区切り値ファイル)をよく使用します。 TSVファイルは、データ列をタブで区切り、各レコードを別々の行に格納したデータテーブルを保存します。データにCSV解析を妨げる可能性のあるカンマが含まれている場合に特に便利です。

IronXLは、TSV形式からのCSVファイル解析を提供して、より良いデータ管理をサポートします。 変換プロセスは簡単で、データの整合性を常に維持します。

例を始めましょう。 まず、学生データを含むTSVファイルを作成します。

名前、メールアドレス、学籍番号(R-NO)、成績などの学生データを含む表をタブ区切り値でフォーマットしたMicrosoft Word文書タブ区切りの学生データの例をMicrosoft Wordで表示。名前、メールアドレス、学籍番号、成績の列を持つTSVファイルの構造を示しています。

using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        // IronXL automatically detects tab-separated format
        WorkBook wb = WorkBook.Load("TSV.tsv");

        // Save the WorkBook as a CSV file
        // Tabs are converted to commas automatically
        wb.SaveAsCsv("Example3.csv");

        // Alternative: Load with explicit delimiter specification
        // WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        // IronXL automatically detects tab-separated format
        WorkBook wb = WorkBook.Load("TSV.tsv");

        // Save the WorkBook as a CSV file
        // Tabs are converted to commas automatically
        wb.SaveAsCsv("Example3.csv");

        // Alternative: Load with explicit delimiter specification
        // WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
    }
}
$vbLabelText   $csharpLabel

以下にCSV形式での出力を示します。 IronXLがタブ区切りの値をカンマ区切りの値に適切に変換しつつ、データ構造を維持している点に注目してください。

WordPad ドキュメントには、名前、メールアドレス、学籍番号、成績などの学生**データがカンマ区切りでフォーマットされた CSV ファイルが表示されています。 WordPad で開かれた CSV ファイルの例には、名前、メールアドレス、学籍番号、成績のフィールドがカンマで区切られた学生レコードが表示されています。**

IronXLをCSV解析に使用する主なメリットは何ですか?

このチュートリアルでは、 IronXLを使用してさまざまなファイル形式をC#でCSVに解析する方法を説明します。 このライブラリは、すべてのファイル形式に対して一貫したAPIを提供するため、コード構造を変更することなく、さまざまなExcelバージョンや形式を簡単に扱うことができます。

さらに、 IronXLライブラリは、Excelの操作に最適な以下の機能を提供します。

IronXLはパフォーマンス最適化においても優れています。 最近の性能向上により、このライブラリは以前よりも40倍高速にファイルを処理できるようになり、メモリ使用量も大幅に削減されたため、大規模なデータ処理タスクにも適したものとなった。 このライブラリは、 DockerコンテナLinuxシステムmacOS環境でシームレスに動作し、真のクロスプラットフォーム互換性を提供します。

IronXLは、Enterprise環境向けに堅牢なセキュリティ機能を提供し、業界標準に準拠しています。 このライブラリは.NETとC#の両方をサポートしているため、さまざまな開発チームにとって汎用性が高い。 大きなファイルを扱う際は、ファイルサイズの制限と利用可能な最適化戦略に注意してください。

IronXLの機能コード例、およびドキュメントを参照して、 IronXLの動作に関する詳細情報を確認してください。 モバイル開発における.NET MAUIの活用や、データベース操作におけるDataTablesとの統合など、具体的なユースケースを検討することができます。 IronXLをダウンロードして、トライアルライセンスキーを使って30日間無料でお試しください。 本番環境で使用する場合は、ライセンスキーを適用する必要があります。ライセンスキーは、Webアプリケーションの場合はweb.configファイルで設定できます。 ライセンスの利用規約、ライセンスの延長アップグレードのオプションなど、詳細についてはライセンスページをご覧ください。

Iron Suiteをご購入いただくと、 IronXLライブラリのライセンス2つ分の価格で、 Iron Softwareの5つのライブラリすべてのライセンスを入手できます!

ご覧いただきありがとうございます!

よくある質問

Interopを使用せずにC#でCSVファイルを解析するにはどうすればよいですか?

IronXLを使用すると、Interopを使用せずにC#でCSVファイルを解析できます。CSVファイルをWorkBookオブジェクトにロードし、直接操作し、数行のコードで他の形式(XLSXやXLSなど)に変換できます。

Visual StudioでIronXLライブラリをインストールするのに必要なステップは何ですか?

Visual StudioでIronXLライブラリをインストールするには、NuGetパッケージマネージャUIを開き、'IronXL'を検索してインストールします。代わりに、Visual Studioコマンドラインを使用し、パッケージマネージャコンソールでInstall-Package IronXL.Excelコマンドを実行できます。

C#でCSVファイルをExcel形式に変換するにはどうすればよいですか?

IronXLを使用して、CSVファイルをXLSXやXLSのようなExcel形式に変換できます。CSVをWorkBookオブジェクトにロードし、SaveAsXlsxなどのメソッドを使用して希望の形式で保存します。

TSVファイルを解析し、CSVに変換することは可能ですか?

はい、IronXLはTSVファイルの解析を可能にします。TSVファイルをWorkBookオブジェクトにロードし、SaveAsCsvメソッドを使用してCSVファイルに変換します。

C#のExcelライブラリはデータ操作にどのような機能を提供しますか?

IronXLはデータ操作、チャート管理、セルフォーマット、およびExcel暗号化との互換性などの機能を提供します。フリーズパネル、数式、条件付き書式設定などの操作をサポートしています。

C#でプログラム的にExcelスプレッドシートの形式を管理するにはどうすればよいですか?

IronXLは、XLSX、XLS、CSVなどの異なるスプレッドシート形式の管理を可能にします。これらの形式の間で変換を行い、.NETアプリケーション内で効率的にデータを処理するためのメソッドを提供します。

購入前にC#用のExcelライブラリを試すことはできますか?

はい、IronXLはNuGetウェブサイトからダウンロード可能な30日間の無料トライアルを提供しています。これにより、機能をテストし、購入前にニーズに合致しているか確認できます。

IronXLはCSVファイルの解析と変換にどのような利点を提供しますか?

IronXLは、最小限のコードでCSVファイルの解析と変換を簡素化します。効率的なデータ処理を保証し、C#アプリケーションでのExcelファイル操作を強化する豊富な機能を提供します。

カーティス・チャウ
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね