IRONXLの使用

C#でファイルをCSVにエクスポートする方法

リーガン・パン
リーガン・パン
2023年11月14日
更新済み 2024年8月23日
共有:

この記事では、最もよく知られているライブラリの1つであるIronXLを使用して、.NETテクノロジーがプログラムでMicrosoft Excelドキュメントとインターフェースするさまざまな方法を対比・比較します。 さらに、ExcelスプレッドシートをCSVファイルに書き込み、読み取り、エクスポートするための設定が作成されます。

1.1 .NET Frameworkとは何ですか?

Microsoft は、主に Microsoft Windows と互換性があるソフトウェア フレームワークである.NET Frameworkを作成しました。 それは、クロスプラットフォームの.NETプロジェクトがその役割を引き継ぐまで、主な共通言語基盤 (CLI) 実装として機能していました。 それは複数の異なるプログラミング言語との互換性を提供し、Framework Class Library(FCL)と呼ばれる大規模なクラスライブラリを備えています。

1.2 CSVとは何ですか?

「コンマ区切り値」と呼ばれるテキストファイル形式は、コンマを使用して値を別々の列に分けます。 表形式のデータはCSV形式のファイルにプレーンテキストで保存され、各行は通常、1つのデータレコードに対応しています。 CSVファイルでは、各レコードは同じ数のフィールドを持ち、それらはカンマで区切られています。

2.0 IronXL ライブラリの機能

Microsoft Excelドキュメントは、IronXL for .NET C# Excelライブラリを使用してCSVファイルに読み込みおよび変換することができます。 Microsoft OfficeやMicrosoft.Office.Interop.Excelをインストールすることなく、ユーザーはIronXLというスタンドアローンの.NETソフトウェアライブラリを利用できます。 それは複数のスプレッドシート形式を読み取ることができます。

IronXLのシンプルなC# APIは、.NET環境でExcelスプレッドシートを読み取り、編集し、生成することを容易にします。 IronXLは、Xamarin、Linux、macOS、Azure、.NET Core、および.NET Frameworkを完全にサポートします。

  • IronXLは、.NET Coreおよび.NET Frameworkの両方と互換性のあるC#ライブラリで、Excelスプレッドシートの中で最高のものの一つです。
  • IronXLは、Webアプリ、Windows Forms、およびコンソールを含むほぼすべての.NETフレームワークをサポートします。
  • IronXLは、Linux、macOS、およびWindowsオペレーティングシステムで使用できます。
  • IronXLはExcelファイルへの迅速かつ簡単なアクセスを提供します。
  • IronXLは、XLSX、CSV、XLS、XLST、TSV、XLSMなど、さまざまなExcelファイル形式の読み取りが可能です。 データテーブルやデータセットのインポート、更新、エクスポートの機能は、ライブラリの数多くのオプションのほんの一部です。
  • Excelスプレッドシート用に、IronXLは計算を生成することができます。
  • IronXLは、Excel列の多くのデータ型をサポートしています。これには、テキスト、整数、日付、通貨、数式、およびパーセンテージが含まれます。
  • IronXLは、日付、通貨、パーセンテージ、テキスト、数値、数式、その他のExcel列データ型の形式で複数の値を処理できます。

    データをExcelにエクスポートする方法については、このチュートリアルを参照してください。

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

Visual Studio を開いて、IronXL ライブラリを使用する前に .NET プロジェクトを作成します。 Visual Studio はどのバージョンでも使用できますが、最新バージョンをお勧めします。 簡単にするために、この記事ではこの例としてコンソールアプリケーションを使用します。

![C#でファイルをCSVにエクスポートする方法, 図1: Visual Studioを開き、「ファイル」メニューに移動して「新しいプロジェクト」を選択します。 さまざまな.NETプロジェクトテンプレートから「コンソールアプリ」を選択します。

**Visual Studioを開き、「ファイル」メニューに移動して、「新しいプロジェクト」を選択します。 .NETのさまざまなプロジェクトテンプレートから「コンソールアプリ」を選択します。

その後、プロジェクトの場所と名前を入力します。

C#でファイルをCSVにエクスポートする方法、図2: Visual Studioで新しいプロジェクトを作成する

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

フレームワークのドロップダウンメニューを使用して、.NETフレームワークを選択できます。 このプロジェクトでは .NET Framework 4.7 が選択されています。 次に、Create ボタンをクリックします。

アプリケーションがソリューションを生成すると、program.cs ファイルが開き、コードを入力してプログラムをビルド/実行できます。

C#でファイルをCSVにエクスポートする方法、図3: Console Applicationプロジェクトが正常に作成されると、Program.csファイルが開きます。

Console Applicationプロジェクトが正常に作成されると、Program.csファイルが開きます。

コードをテストするための次のステップは、IronXLライブラリを追加することです。

次の修正にはIronXLライブラリが必要であるため、インストールしてください。 これを行うには、NuGet パッケージ マネージャー コンソールに次のコマンドを入力します:

Install-Package IronXL.Excel

C#でファイルをCSVにエクスポートする方法、図4: NuGetパッケージマネージャーコンソールでIronXLパッケージをインストール

NuGet パッケージ マネージャー コンソールで IronXL パッケージをインストールする

別の方法として、NuGet パッケージ マネージャーを使用してパッケージ「IronXL」を検索し、IronXL に関連するすべての NuGet パッケージのリストから必要なパッケージを選択してダウンロードすることもできます。

C#でCSVファイルをエクスポートする方法、図 5: NuGet パッケージ マネージャーを使用してIronXLパッケージをインストール

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

CSVファイルへエクスポート 4.0

IronXLは、文字列配列をCSVファイルに簡単かつ迅速に作成できます。 CSVファイルの作成が簡単になります。 まず、以下のコードのスクリーンショットに示されているようにIronXL名前空間を追加します。 その後、表示されたコードにIronXLのクラスとメソッドを使用します。

C#でファイルをCSVにエクスポートする方法、図6:IronXL名前空間を含める

IronXL 名前空間を含める

Excelファイルは IronXL で作成され、その後ワークブックオブジェクトに変換することができます。 このオブジェクトには、それらを操作するためのいくつかのメソッドが用意されています。 以下のコード例は、配列文字列をExcelワークシートに変換してExcelファイルを生成します。

using IronXL;
using IronXL.Options;
using System.Data;

static void Main ( string [ ] args ) { 
    string [] students = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
    var workBook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workBook.DefaultWorkSheet;
    int rowCount = 1;
    foreach(var student in students)
    {
        writer ["A" + (rowCount)].Value = rowCount.ToString();
        writer ["B" + (rowCount)].Value = student.ToString();
        rowCount++;
    }
    workBook.SaveAsCsv("Sample.csv", ";");
    // or
    var stream = workBook.ToStream();
}
using IronXL;
using IronXL.Options;
using System.Data;

static void Main ( string [ ] args ) { 
    string [] students = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
    var workBook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workBook.DefaultWorkSheet;
    int rowCount = 1;
    foreach(var student in students)
    {
        writer ["A" + (rowCount)].Value = rowCount.ToString();
        writer ["B" + (rowCount)].Value = student.ToString();
        rowCount++;
    }
    workBook.SaveAsCsv("Sample.csv", ";");
    // or
    var stream = workBook.ToStream();
}
Imports IronXL
Imports IronXL.Options
Imports System.Data

Shared Sub Main(ByVal args() As String)
	Dim students() As String = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" }
	Dim workBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = workBook.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each student In students
		writer ("A" & (rowCount)).Value = rowCount.ToString()
		writer ("B" & (rowCount)).Value = student.ToString()
		rowCount += 1
	Next student
	workBook.SaveAsCsv("Sample.csv", ";")
	' or
	Dim stream = workBook.ToStream()
End Sub
$vbLabelText   $csharpLabel

上述のコード-CSVの例は、配列をExcelファイルにエクスポートします。列見出しは、配列が構築された後に作成されます。 最初の列が確立されると、一度に一つずつ行が追加されます。 データが配列文字列に追加されると、WorkBookオブジェクトが作成されます。 Excelシートにデータを追加するには、WorkBookオブジェクトを使用し、その後で別の場所に保存することができます。 目的は、WorkSheet オブジェクトを作成することによりワークシートを作成し、それをワークブック オブジェクトにリンクさせることです。

スプレッドシートに各項目を追加する前に、foreachループを使用して配列文字列から各項目を読み取ります。 すべてのデータがワークシートに入力された後、SaveAsCsv メソッドを使用してデータはCSVファイルとして保存されます。 区切り文字に加えて、ファイル名と場所もオプションのパラメーターとして提供できます。 このライブラリは新しいCSVファイルへのデータの書き込みをサポートします。Microsoft Excelの代わりにCSVファイルを読み込みたい場合は、Notepadを使用できます。 IronXLはまた、Saveメソッドを使用して、XLS、CSV、XLSXなどの複数のファイル形式でデータを保存することをサポートしています。 またはワークブックをストリームに変換し、必要な場所にデータを書き込むこともできます。

CSVファイルの出力

C#でファイルをCSVにエクスポートする方法、図7: 出力されたExcelファイル

出力Excelファイル

上記のコードサンプルの実行結果が表示されています。 スクリーンショットの新しく作成されたExcelシートには、文字列配列の各データ項目が個別に追加されています。

IronXLを使用してデータをCSVにエクスポートする方法について詳しく知るには、このステップバイステップのチュートリアルを参照してください。

結論 5.0

最も人気のあるExcelアドオンの一つはIronXLです。 外部のライブラリに依存しません。 これは自己完結型であり、Microsoft Excelのインストールは必要ありません。 それはいくつかのチャネルを介して動作します。

IronXL は、プログラムによって実行されるすべての Microsoft Excel ドキュメント関連のタスクに対する完全なソリューションを提供します。 計算を実行したり、文字列や数値を並べ替えたり、トリミング、追加、検索および置換、マージおよびアンマージ、ファイルの保存などが可能です。 スプレッドシートのデータを確認するだけでなく、セルのデータ型を定義することもできます。 それにより、ファイルの読み書きが可能になり、Excelデータの処理が容易になります。

IronXLは、ユーザーがすべての主要な機能を無料で試す機会を提供する無料試用ライセンスを提供しています。

IronXLはローンチ時に$749で利用可能です。 ユーザーがソフトウェアの更新やサポートを希望する場合は、1年間のサブスクリプション料金を支払うこともできます。 追加料金を支払うことで、IronXLは無制限の再配布に対する保護を提供します。 より正確な価格情報を確認するには、IronXLのライセンスページをご覧ください。

リーガン・パン
ソフトウェアエンジニア
レーガンはリーディング大学で電子工学の学士号を取得しました。Iron Softwareに入社する前の仕事では、一つのタスクに集中して取り組んでいました。Iron Softwareでは、営業、技術サポート、製品開発、マーケティングのいずれにおいても広範な業務に携わることが最も楽しいと感じています。彼は、Iron Softwareライブラリを開発者がどのように使用しているかを理解し、その知識を使ってドキュメントを継続的に改善し、製品を開発することを楽しんでいます。
< 以前
C#でフォーマット付きのExcelファイルをエクスポートする方法
次へ >
C#でスプレッドシートを編集する方法