IRONXLの使用

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

更新済み 2024年1月29日
共有:

.NETで重要なタスクのためにCSVファイルを解析してXLSXに変換したり、XLSXファイルをCSVに変換したりしようとして、たくさんのコードを書かずにその方法がわからずに困ったことはありませんか?

この問題を解決するために、多くのCSVライブラリが存在します。 しかし、IronXLこのブログでは、これらのタスクをわずか2行のコードで実行するためにC# Excel Libraryが使用されます。

始めるには、Visual Studioが必要です。以下の指示に従って詳細なインストール手順を実行してください。

新しいプロジェクトをVisual Studioで作成する

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

Visual Studioでファイルメニューに移動します。 「新しいプロジェクト」を選択してから、「コンソール アプリケーション」を選択してください。

プロジェクト名を入力し、プロジェクトの場所を選択してください。 次に、プロジェクトを作成するために Create ボタンをクリックします。 次のスクリーンショットに示されているように、必要な.NET Frameworkを選択してください。

C# CSV パーサー(ステップバイステップ)チュートリアル、図1:新しいC#を作成する。 .NETコンソールアプリケーション

新しいC#を作成。 NETコンソールアプリケーション

program.csファイルが開きますので、ロジックを入力してアプリケーションを作成/実行できます。

2. IronXL C# ライブラリをインストールする

IronXLライブラリは、さまざまな方法でダウンロードおよびインストールできます。 今日は、このうちの二つに焦点を当てます。

  • Visual Studio NuGet パッケージ マネージャーを使用する
  • Visual Studio コマンド ラインの使用

2.1. Visual Studio NuGet パッケージマネージャーの使用

NuGet パッケージ マネージャー UI は、Visual Studio 内で使用可能であり、パッケージを直接プロジェクトにインストールするために利用できます。 以下のスクリーンショットは、どのように開くかを示しています。

C# CSVパーサー(ステップバイステップ)チュートリアル、図2: Visual StudioのNuGetパッケージマネージャーGUIを使用してIronXLをインストールする

Visual Studio NuGet パッケージ マネージャー GUI を使用して IronXL をインストールする

パッケージマネージャーUIは、NuGetウェブサイトで提供されているパッケージライブラリのリストを表示する参照機能を提供します。下のスクリーンショットのように、「IronXL」キーワードを入力して、IronXLパッケージを見つけてください。

C# CSVパーサー(ステップバイステップ)チュートリアル、図3:NuGetパッケージマネージャーの「参照」セクションで検索してIronXLライブラリを見つける

NuGetパッケージマネージャーのブラウズセクションでIronXLライブラリを検索して見つけてください。

IronXL.Excelパッケージを選択し、プロジェクトに追加するためにInstallボタンをクリックします。

2.2. Visual Studio コマンドラインの使用

Visual Studioのメニューで、ツール > NuGet パッケージ マネージャー > パッケージ マネージャー コンソールをクリックします。

C# CSV パーサー(ステップバイステップ)チュートリアル、図4: ツールメニューからVisual Studio内のNuGet パッケージ マネージャー コンソールにアクセス

Visual StudioのツールメニューからNuGetパッケージマネージャーコンソールにアクセスしてください

パッケージ マネージャー コンソールが画面の下部に表示されます。 以下のコマンドを入力してエンターを押すだけで、IronXLがインストールされます。

Install-Package IronXL.Excel

C# CSV パーサー(ステップ・バイ・ステップ)チュートリアル、図5:コマンドラインでIronXLライブラリをインストールする

コマンドラインを通じて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)
        {
            var fileHelperEngine = new FileHelperEngine<Record>();
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            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)
        {
            var fileHelperEngine = new FileHelperEngine<Record>();
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
Imports FileHelpers
Imports System
Namespace parse_csv
	<DelimitedRecord(",")>
	Public Class Record
		Public Name As String

		Public Age As String
	End Class
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim fileHelperEngine As New FileHelperEngine(Of Record)()
			Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")

			For Each record In records
				Console.WriteLine(record.Name)
				Console.WriteLine(record.Age)
			Next record
		End Sub
	End Class
End Namespace
VB   C#

IronXLを使用すれば、これはほんの数行のコードで実現できます。

IronXLを使用すると、XLSX、XLS、TSVなどからCSVファイルを解析できます。 このチュートリアルでは、次の変換について探ります。

  1. XLSXファイルからCSVファイルを解析する

  2. XLSファイルからCSVファイルを解析する

  3. TSVファイルからCSVファイルを解析する

3.1. XLSXファイルからCSVファイルを解析する

Microsoft Excelを開き、新しいXLSXファイルを作成します。いくつかの仮データでその行と列を埋めます。 以下の画像は、このチュートリアルですべての変換に使用するファイルを示しています。

C# CSVパーサー (ステップバイステップ) チュートリアル、図6:サンプルExcelデータ

サンプルExcelデータ

ファイルの準備ができたら、次のサンプルコードを書いてプログラムを実行してください。

using IronXL;

WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
using IronXL;

WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("test.xlsx")
wb.SaveAsCsv("Parsed CSV.csv")
VB   C#

実行が完了すると、新しいファイル名 Parsed CSV.csv が作成されます。 CSVファイルの読み取りは、お好きなエディターやリーダーで行うことができます。以下の画像は、上記のコマンドによって生成されたCSVデータの出力を示しています。 出力ファイルでは、二重引用符が太字の値を表します。

C# CSVパーサー(ステップバイステップ)チュートリアル、図7: サンプルExcelワークブックでWorkBook.SaveAsCsvメソッドを呼び出した結果

サンプルExcelワークブックでWorkBook.SaveAsCsvメソッドを実行した結果

3.2. XLSファイルからCSVファイルを解析

この例では、XLSファイルをCSV形式に変換する方法を見てみます。

まず、CSV形式に変換できる例のXLSファイルを作成しましょう。

C# CSVパーサー(ステップバイステップ)チュートリアル、図8:サンプルXLSファイル

サンプルXLSファイル

次に、以下のコードブロックを実行して、サンプルXLSファイルをCSVファイルに変換します。

using IronXL;

WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
using IronXL;

WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("XLS.xls")
wb.SaveAsCsv("Example2.csv")
VB   C#

上記のコードの実行が完了すると、新しく生成されたCSVファイルが得られます。

C# CSVパーサー(ステップバイステップ)チュートリアル、図9:上記のコードを使用して保存した結果のCSVファイル

以下のコードを使用して保存した結果のCSVファイル

CSVファイルをTSVファイルから解析する

スプレッドシートアプリケーションは、データベース間でデータを転送するために、TSVファイル(タブ区切り値ファイル)を頻繁に使用します。 データテーブルを保存します。データ列がタブで区切られ、各レコードが異なる行に配置されます。

IronXLは、データ管理を向上させるため、TSV形式からCSVファイルを解析するCSVパーサを提供します。

さあ、例を始めましょう。

C# CSV パーサー (段階的) チュートリアル, 図10: サンプルTSVスプレッドシート

サンプルTSVスプレッドシート

using IronXL;

WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
using IronXL;

WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("TSV.tsv")
wb.SaveAsCsv("Example3.csv")
VB   C#

以下はCSVフォーマットの出力です。

C# CSVパーサー(ステップバイステップ)チュートリアル、図11:出力CSVファイル

出力CSVファイル

結論

このチュートリアルでは、IronXLを使用して、C#でさまざまなファイル形式をCSVに解析します。

さらに、IronXLライブラリは以下の機能も提供します:

< 以前
C#でCSVファイルを作成する方法(ステップバイステップ)チュートリアル
次へ >
BlazorでIronXLを使用してデータをExcelにエクスポートする方法