IRONXLの使用

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

更新済み 6月 20, 2023
共有:

この記事では、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.LoadCSV CSVファイルが既に存在する場合のメソッド。 以下を参照できます コード例ページ 既存の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セルの背景色を設定する方法

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 977,734 View Licenses >