
How To Write Data in CSV File in C#
この記事では、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であり、インストールが必須です。 インストールされていない場合は、Microsoft Visual Studioのウェブサイトからダウンロードできます。
次の手順で"DemoApp"という新しいプロジェクトを作成します。
-
Visual Studio を開き、"新しいプロジェクトを作成"をクリックします。
Visual Studio を開く -
コンソールアプリケーションを選択して"次へ"をクリックします。
Visual Studio で新しいプロジェクトを作成する -
プロジェクトの名前を設定します
新しいプロジェクトを構成する -
.NET バージョンを選択します。 安定版バージョン.NET 6.0を選択します。
.NET Framework の選択
IronXL ライブラリをインストールする
プロジェクトが作成されたら、IronXLライブラリをプロジェクトにインストールして使用します。 それをインストールするために次のステップに従います。
-
ソリューションエクスプローラーまたはツールからNuGetパッケージマネージャーを開きます。
NuGet パッケージ マネージャーに移動する -
IronXLライブラリを検索し、現在のプロジェクトを選択します。 インストールをクリックします。
NuGetパッケージマネージャUIでIronXLパッケージを検索してインストールする
Program.cs ファイルの先頭に次の名前空間を追加します:
using IronXL;Imports IronXLCreate a New Workbook in C#
IronXLは空のワークブックを作成する機能を提供します。 ワークブックは複数のワークシートを含むスプレッドシートです。 データはセルに格納されています。 CSVもスプレッドシートのように見えますが、CSVファイル拡張子を持っています。
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();' Creates a new instance of WorkBook Spreadsheet
Dim workBook As WorkBook = WorkBook.Create()次に、WorkBook にシートを作成します。 ワークブックでワークシートを作成する方法は複数あります。
// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;
// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");' Adds a default sheet to the workbook
Dim defaultSheet As WorkSheet = workBook.DefaultWorkSheet
' Creates a worksheet with the name "Sheet1"
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")既存のワークブックにシートを追加したい場合は、CreateWorkSheet メソッドを使用してください。
注意: CSVファイルがすでに存在する場合は、WorkBook.LoadCSV メソッドを使用できます。 最後のステップはCSVファイルを保存することです。IronXLはワークブックをCSVファイルとして保存するSaveAsCsvメソッドを提供します。最初のパラメーターはCSVファイル名、2番目はデリミタです。
WorkSheet にデータを書き込む
IronXLを使用すると、CSVファイルの書き込みが簡単です。 CSVにデータを書き込むExcelの機能を提供します。セル参照を使用して指定された場所に値を追加できます。 ここでは、foreach ループを使用して、いくつかの従業員のレコードを追加します。
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };
// Starting row for data entry
int i = 2;
// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";
// Populate each row with employee data
foreach (var employee in employeeNames)
{
// Set values for ID, Name, and Salary
sheet["A" + i].Value = i;
sheet["B" + i].Value = employee;
sheet["C" + i].Value = i * 1000;
i++;
}' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
' Starting row for data entry
Dim i As Integer = 2
' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"
' Populate each row with employee data
For Each employee In employeeNames
' Set values for ID, Name, and Salary
sheet("A" & i).Value = i
sheet("B" & i).Value = employee
sheet("C" & i).Value = i * 1000
i += 1
Next employee上記のコード例では、employeeNames の配列が作成され、最初の行にはID、名前、給与のヘッダーが設定されています。 変数 i も2の値で初期化され、ヘッダーの下の2行目からレコードが入力されます。 foreach ループはリストから各従業員を処理し、IDと給与値で現在の行に追加します。 ループが完了する前に、次のレコード用に次の行に移るために i がインクリメントされます。
CSVファイルにデータを保存する
最後のステップはCSVファイルを保存することです。IronXLは、ワークブックをCSVファイルとして保存するためのSaveAsCsv メソッドを提供しています。このメソッドの最初のパラメータはCSVファイル名で、2つ目は区切り記号です。
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")完全なコードは次のとおりです。
using System;
using IronXL;
class Program
{
static void Main()
{
// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };
// Starting row for data entry
int i = 2;
// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";
// Populate each row with employee data
foreach (var employee in employeeNames)
{
// Set values for ID, Name, and Salary
sheet["A" + i].Value = i;
sheet["B" + i].Value = employee;
sheet["C" + i].Value = i * 1000;
i++;
}
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
}
}Imports System
Imports IronXL
Friend Class Program
Shared Sub Main()
' Create a new workbook and worksheet
Dim workBook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
' Starting row for data entry
Dim i As Integer = 2
' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"
' Populate each row with employee data
For Each employee In employeeNames
' Set values for ID, Name, and Salary
sheet("A" & i).Value = i
sheet("B" & i).Value = employee
sheet("C" & i).Value = i * 1000
i += 1
Next employee
' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")
End Sub
End Class出力
出力されたCSVファイル
まとめ
この記事は、IronXLを使用してC#でCSVファイルを書くためのシンプルなアプローチを示しています。 IronXLは既存のCSVファイルを問題なく扱う機能も提供しています。 また、CSVファイルの書き込み、新しいExcelファイルの作成、および簡単な構文でそれらにデータを書くことも可能です。 IronXLを使用して、Microsoft Officeをインストールせずに、Excelファイルを読み書きできます。 さまざまなスプレッドシート形式間の変換については、このコード例ページを参照できます。
IronXL は開発用に無料で、商用利用のためにライセンスを取得できます。 商業利用のためのIronXLの無料トライアルも試すことができます。

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



