IRONXLの使用

C#でCSVファイルにデータを書き込む方法

更新済み 2024年3月31日
共有:

この記事では、IronXLを使用してCSVファイルを作成する方法を探ります。

IronXLライブラリ

IronXLは、C#アプリケーションでスプレッドシートファイルを作成、読み取り、および編集するための包括的な機能を提供する.NET Excelライブラリです。 パフォーマンスおよび出力の正確性において優れています。 さまざまなスプレッドシートワークブックファイル形式(XLS、XLSX、XLSM、CSV、TSV)をサポートしています。さらに、データの保存またはエクスポートExcelファイルからCSV、JSON、HTML、バイナリ、バイト配列、DataSet、またはDataTableの形式に。

IronXLを使用すると、開発者はワークシートやセル範囲をシームレスに操作でき、データの操作にエレガントなアプローチを提供します。 それは可能にします数式の簡単な編集シート内の数式の再計算を容易にします。 データの並べ替え範囲、列、または行に基づいて簡単に行えます。 次の方法でレイアウトを変更することもできますウィンドウ枠の固定, 自動サイズ調整行/列、および行および列の追加/削除.

IronXLは、ユーザーパスワードでExcelファイルを保護し、編集権限を設定する機能を提供します。 さらに、それは機能を提供します画像を追加、削除、抽出Excelワークシートから。 ライブラリにはさまざまなセルデータ形式をサポートする広範なExcel機能が含まれています。 これにより、IronXLはExcelファイルを操作するための最も直感的なAPIの1つとなります。

IronXLの大きな利点の一つは、マシンにMicrosoft ExcelやOffice Interopの依存関係をインストールする必要がないことです。これは自己完結型のソリューションであり、複数のプラットフォームで動作し、.NETバージョン7、6、および5に対応しています。また、.NET Core 2および3、さらに標準2バージョンもサポートしています。 Excelスプレッドシートを操作するために、IronXLは.NET Framework 4.5およびそれ以降のバージョンと互換性があります。

コンソールアプリケーションを作成する

アプリケーションを作成するには、最新バージョンのVisual Studioを使用することをお勧めします。 Visual StudioはC#開発の公式IDEであり、インストールしておく必要があります。 こちらからダウンロードできます:マイクロソフト ビジュアル スタジオのウェブサイト, 未インストールの場合。

次の手順で「DemoApp」という新しいプロジェクトを作成します。

  1. Visual Studio を開き、「Create a New Project」をクリックしてください。

    CSVファイルにデータを書き込む方法 (C#)、図1: Visual Studioを開く

    Visual Studio を開く

  2. 「コンソールアプリケーション」を選択し、「次へ」をクリックします。

    C#でCSVファイルにデータを書き込む方法、図2: Visual Studioで新しいプロジェクトを作成

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

  3. プロジェクトの名前を設定する

    C#でCSVファイルにデータを書き込む方法、図3: 新しいプロジェクトを設定する

    新しいプロジェクトを構成する

  4. .NETバージョンを選択してください。 安定版の.NET 6.0を選択してください。

    CSVファイルにデータを書き込む方法 (C#), 図4: .NET Frameworkの選択

    .NETフレームワークの選択

IronXLライブラリをインストール

プロジェクトが作成されたら、使用するためにIronXLライブラリをプロジェクトにインストールする必要があります。 インストールするには、次の手順に従ってください。

  1. ソリューション エクスプローラーまたはツールからNuGetパッケージ マネージャーを開きます。

    データをCSVファイルに書き込む方法 (C#)、図5:NuGetパッケージマネージャーに移動

    NuGetパッケージマネージャーに移動する

  2. IronXLライブラリを参照し、現在のプロジェクトを選択します。 インストールをクリックしてください。

    C#でCSVファイルにデータを書き込む方法、図6: NuGetパッケージマネージャーUIでIronXLパッケージを検索してインストールする

    NuGetパッケージマネージャーUIでIronXLパッケージを検索してインストールする

    Program.cs ファイルの冒頭に次の名前空間を追加します

using IronXL;
using IronXL;
Imports IronXL
VB   C#

C#で新しいワークブックを作成

IronXLは空のワークブックを作成する機能を提供します。 ワークブックは、複数のワークシートを含むスプレッドシートです。 データはセルに保存されます。 CSV もスプレッドシートのように見えますが、CSV というファイル拡張子になっています。

// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
' Creates a new Instance of WorkBook SpreadSheet
Dim workBook As New WorkBook()
VB   C#

以下に示す日本語に翻訳します:

では、シートを作成しましょうWorkBook. ワークブック内でワークシートを作成するには、複数の方法があります。

// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;

// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;

// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
' Adds sheet1 to the workbook
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Creates a worksheet with name Sheet1
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
VB   C#

既存のワークブックにシートを追加したい場合は、次のものを使用します。CreateWorkSheet(ワークシート作成)メソッド。

“注釈”:使用できますWorkBook.LoadCSVCSVファイルが既に存在する場合のメソッド。 以下を参照できますコード例ページ既存のCSVファイルを読み込むために。

WorkSheetにデータを書き込む

IronXLを使用するとCSVファイルの作成が簡単です。 CSVにデータを書き込むためのExcel機能を提供します。セル参照を使用して、指定された場所に値を追加することができます。 こちらでは、foreachループを使用していくつかの従業員のレコードを追加します。

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
Dim employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Dim i As Integer = 2
sheet ("A1").Value = "ID"
sheet ("B1").Value = "Name"
sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee
VB   C#

上記のコード例では、employeenamesの配列が作成され、最初の行にヘッダー:ID、Name、Salaryが設定されます。 変数 i は値2で初期化されており、これによりヘッダーの下の2番目の行からレコードが入力されます。 foreachループはリストから1人の従業員を取り出し、IDと給与の値を持つ行に追加されます。 ループが終了する前に、i の値をインクリメントする必要があります。そうでないと、各レコードが同じ行に追加されてしまいます。

データをCSVファイルに保存する

最後のステップはCSVファイルを保存することです。IronXLはそのためのメソッドを提供しています。SaveAsCsv(CSVとして保存)ワークブックをCSVファイルとして保存するには。このメソッドの最初のパラメーターがCSVファイル名で、2番目のパラメーターが区切り文字です。

workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",")
VB   C#

以下の内容は次のとおりです。

using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
Imports System
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

Private employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Private i As Integer = 2
Private sheet ("A1").Value = "ID"
Private sheet ("B1").Value = "Name"
Private sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee

workBook.SaveAsCsv("sample.csv", ",")
VB   C#

出力

CSVファイルへのデータの書き方(C#)、図7:出力されたCSVファイル

出力CSVファイル

サマリー

この記事では、C#でIronXLを使用してCSVファイルを作成するための簡単なアプローチを紹介します。 IronXLは、既存のCSVファイルを問題なく操作する機能も提供します。 また、CSVファイルの書き込み、新しいExcelファイルの作成、それらへのデータの書き込みをシンプルな構文で行うことができます。 IronXLは、Microsoft OfficeがインストールされていなくてもExcelファイルの読み書きに使用できます。 異なるスプレッドシート形式間の変換については、こちらをご覧くださいコード例ページ.

IronXL は開発には無料で使用でき、商用利用にはライセンスが必要です。 IronXLの無料版もお試しいただけます。トライアル商業利用のため。

< 以前
ASP.NETでExcelを表示する方法
次へ >
C#を使用してExcelセルの背景色を設定する方法