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

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

CSVファイルを解析してXLSXやXLSXファイルをCSVファイルに変換しようとして困ったことがありますか?.NETで重要なタスクを行うために、大量のコードを書かずにどうやってやるか分からない場合。

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

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

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

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

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

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

C# CSV Parser (Step-By-Step) Tutorial, Figure 1: Create a new C#. NET コンソールアプリケーション Create a new C#. NET コンソールアプリケーション

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

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

IronXLライブラリは、多くの異なる方法でダウンロードおよびインストールできます。 今日は、そのうちの2つに焦点を当てます:

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

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

NuGetパッケージマネージャーUIはVisual Studioで利用可能で、プロジェクトに直接パッケージをインストールできます。 以下のスクリーンショットは、それを開く方法を示しています。

C# CSV Parser (Step-By-Step) Tutorial, Figure 2: Installing IronXL using Visual Studio NuGet Package Manager GUI Installing IronXL using Visual Studio NuGet Package Manager GUI

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

C# CSV Parser (Step-By-Step) Tutorial, Figure 3: Locate the IronXL library in NuGet Package Manager by searching for it in the Browse section Locate the IronXL library in NuGet Package Manager by searching for it in the Browse section

IronXL.Excelパッケージを選択し、インストールボタンをクリックしてプロジェクトに追加します。

2.2. Visual Studioコマンドラインを使用する

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

C# CSV Parser (Step-By-Step) Tutorial, Figure 4: Access the NuGet Package Manager Console within Visual Studio from the Tools menu Access the NuGet Package Manager Console within Visual Studio from the Tools menu

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

Install-Package IronXL.Excel

C# CSV Parser (Step-By-Step) Tutorial, Figure 5: Install the IronXL library through the Command-Line Install the IronXL library through Command-Line

3. 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
            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
            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);
            }
        }
    }
}
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)
			' Create a FileHelperEngine for the Record class
			Dim fileHelperEngine As New FileHelperEngine(Of Record)()
			' Read records from the CSV file into an array
			Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")

			' Print each record's Name and Age
			For Each record In records
				Console.WriteLine(record.Name)
				Console.WriteLine(record.Age)
			Next record
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

しかし、IronXLを使えば、これは数行のコードで達成できます。

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

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

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

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

C# CSV Parser (Step-By-Step) Tutorial, Figure 6: Sample Excel data Sample Excel data

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

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        WorkBook wb = WorkBook.Load("test.xlsx");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Parsed CSV.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        WorkBook wb = WorkBook.Load("test.xlsx");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Parsed CSV.csv");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Load the XLSX file into a WorkBook object
		Dim wb As WorkBook = WorkBook.Load("test.xlsx")
		' Save the WorkBook as a CSV file
		wb.SaveAsCsv("Parsed CSV.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

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

C# CSV Parser (Step-By-Step) Tutorial, Figure 7: The result of invoking WorkBook.SaveAsCsv method on the sample Excel Workbook The result of invoking WorkBook.SaveAsCsv method on the sample Excel Workbook

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

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

まず、例として使用するXLSファイルを作成し、CSV形式に変換します。

C# CSV Parser (Step-By-Step) Tutorial, Figure 8: A sample XLS file A sample XLS file

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

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        WorkBook wb = WorkBook.Load("XLS.xls");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Example2.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        WorkBook wb = WorkBook.Load("XLS.xls");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Example2.csv");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Load the XLS file into a WorkBook object
		Dim wb As WorkBook = WorkBook.Load("XLS.xls")
		' Save the WorkBook as a CSV file
		wb.SaveAsCsv("Example2.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

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

C# CSV Parser (Step-By-Step) Tutorial, Figure 9: The result CSV file from saving using the code above The result CSV file from saving using the code above

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

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

IronXLは、TSV形式からのCSVファイル解析を提供して、より良いデータ管理をサポートします。

例を始めましょう。

C# CSV Parser (Step-By-Step) Tutorial, Figure 10: A sample TSV spreadsheet A sample TSV spreadsheet

using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        WorkBook wb = WorkBook.Load("TSV.tsv");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Example3.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        WorkBook wb = WorkBook.Load("TSV.tsv");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Example3.csv");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Load the TSV file into a WorkBook object
		Dim wb As WorkBook = WorkBook.Load("TSV.tsv")
		' Save the WorkBook as a CSV file
		wb.SaveAsCsv("Example3.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

以下にCSV形式での出力を示します。 C# CSV Parser (Step-By-Step) Tutorial, Figure 11: The output CSV file The output CSV file

4. 結論

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

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

Check out IronXL's features, Code Examples and documentation content for more information about how IronXL works. Download IronXL and 30日間無料のお試し用ライセンスキーでお試しください。 ライセンシングの詳細な用語および条件については、Licensing Pageをご覧ください。

全5つのIron Softwareライブラリのライセンスを取得するために、2つのIronXLライブラリライセンスの料金でIron Suiteを購入してください!

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

よくある質問

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
テクニカルライター

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

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