フッターコンテンツにスキップ
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 だけです。 詳細なインストール手順については、以下の手順に従ってください。 このチュートリアルは、相互運用性の依存関係なしで Excel ファイルを操作したい、基本的な C# の知識を持つ開発者向けに設計されています。

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

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

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

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

Visual Studio の新しいプロジェクト構成ダイアログには、プロジェクト名 'ConsoleApp1'、場所のパス、および .NET Framework 4.7.2 が選択された C# コンソール アプリケーション (.NET Framework) の設定が表示されています。図 1: Visual Studio で .NET Framework 4.7.2 を使用して新しい C# コンソール アプリケーション プロジェクトを構成します。

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

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

IronXLライブラリは、多くの異なる方法でダウンロードおよびインストールできます。 今日は、専門的な開発環境で最も一般的に使用される 2 つの方法に焦点を当てます。

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

どちらの方法も同等に効果的であり、グラフィカル インターフェイスとコマンド ライン ツールのどちらを好むかによって選択が変わります。 さまざまな環境での詳細なインストール ガイドについては、公式ドキュメントを参照してください。

Visual Studio NuGet パッケージ マネージャーを使用する必要があるでしょうか?

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

! Visual Studio インターフェースで、ツール メニューが展開され、NuGet パッケージ マネージャー オプションが強調表示され、セカンダリ メニューで [ソリューションの NuGet パッケージの管理] が選択されています。Visual Studio で NuGet パッケージ マネージャーにアクセスするには、[ツール] > [NuGet パッケージ マネージャー] > [ソリューションの NuGet パッケージの管理] に移動します。

パッケージマネージャーUIには、NuGetウェブサイトで利用可能なパッケージライブラリの一覧を表示する"参照"機能があります。下のスクリーンショットのように"IronXL"と入力すると、IronXLパッケージが見つかります。 IronXL が提供する関連する Excel 操作機能を調べることもできます。

! Visual Studio の NuGet パッケージ マネージャー インターフェイスに IronXL.Excel パッケージの検索結果が表示され、バージョン 2022.9.9454 が"Create PDF"という C# プロジェクトにインストール対象として選択されています。 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を使えば数行のコードで済みます。 このシンプルさは、異なるスプレッドシート形式をすばやく変換する必要がある場合に特に役立ちます。

従来の C# コードのみを使用して CSV 形式のファイルを解析すると、大量の大きなコードが必要になります。 従来のアプローチを使用してこれを実現するコードの例を次に示します。

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 ファイルを作成する必要があります。 下の画像は、このチュートリアルのすべての変換に使用されるファイルを示しています。

! 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 データを示しています。 出力ファイルでは、二重引用符が太字の値を表しています。

! WordPadで開かれたCSVファイルには、ヘッダーに"Items"、"quantity"、"Price"、"Total"が付いた製品データが表示され、AXE、Pen、Charger、Headsetsのエントリとそれぞれの値が含まれています。図7: WorkBook . SaveAsCsvメソッドによって生成されたCSV出力。変換されたExcelデータがコンマ区切り形式で表示されます。

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

この例では、XLS ファイルを CSV 形式に変換する方法を説明します。 このプロセスは XLSX 変換と同一であり、さまざまな Excel ファイル形式を処理する際の IronXL の汎用性を示しています。

まず、例として使用する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ファイルが生成されます。より複雑なシナリオでは、エクスポート前に特定の範囲を選択したり、データを並べ替えたりする必要があるかもしれません。

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

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

スプレッドシート アプリケーションでは、データベース間でデータを転送するために、TSV ファイル (タブ区切り値ファイル) が頻繁に使用されます。 データ列をタブで区切り、各レコードを別の行に表示するデータテーブルを保存します。TSVファイルは、データにCSV解析に支障をきたす可能性のあるカンマが含まれている場合に特に便利です。

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

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

! Microsoft Word 文書には、タブ区切りの値でフォーマットされた、名前、電子メール アドレス、ロール番号 (R-NO)、文字による成績を含む学生データの表が表示されています。Microsoft Word で表示されたタブ区切りの学生データの例。NAME、EMAIL、R-NO、および Grade の列を持つ 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 がデータ構造を維持しながらタブ区切りの値をコンマ区切りの値に適切に変換していることに注目してください。

! ワードパッド文書に、名前、メール、ロール番号、成績などの生徒データがカンマで区切られた CSV ファイルが表示されています。 WordPadで開かれた CSV ファイルの例には、名前、メール、ロール番号、成績のフィールドがカンマで区切られた生徒のレコードが表示されています。

CSV 解析に IronXL を使用する主な利点は何ですか?

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

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

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

エンタープライズ環境向けに、IronXL は強力なセキュリティ機能を提供し、業界標準に準拠しています。 このライブラリは C# だけでなくVB.NETもサポートしているため、さまざまな開発チームで幅広く使用できます。 大きなファイルを扱うときは、ファイル サイズの制限と利用可能な最適化戦略に注意してください。

IronXL の仕組みの詳細については、IronXL の機能コード例ドキュメントを参照してください。 モバイル開発のための.NET MAUI の使用や、データベース操作のためのDataTables との統合など、特定のユースケースを検討できます。 IronXL をダウンロードし、試用ライセンス キーを使用して30 日間無料でお試しください。 実稼働環境で使用する場合は、Web アプリケーションのweb.configで構成できるライセンス キーを適用する必要があります。 ライセンスの延長アップグレードのオプションを含むライセンスの利用規約の詳細については、ライセンス ページをご覧ください。

完全なIron Suiteを購入すると、2 つの IronXL ライブラリ ライセンスの価格で、5 つの Iron Software ライブラリすべてのライセンスを取得できます。

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

よくある質問

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ボットを作成したりして、技術に対する愛情と創造性を組み合わせています。