C#でCSVファイルにデータを書き込む方法
この記事では、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;using IronXL;Imports IronXLC#で新しいワークブックを作成する
IronXLは空のワークブックを作成する機能を提供します。 ワークブックは複数のワークシートを含むスプレッドシートです。 データはセルに格納されています。 CSVもスプレッドシートのように見えますが、CSVファイル拡張子を持っています。
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();// 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
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
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", ",");' 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", ",");
}
}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の無料トライアルも試すことができます。
よくある質問
C#でCSVファイルにデータを書き込むにはどうすればよいですか?
IronXLの`SaveAsCsv`メソッドを使用して、C#でデータをCSVファイルにエクスポートできます。まず、ワークブックとワークシートを作成し、セルにデータを書き込み、その後`workBook.SaveAsCsv("filename.csv", ",");`を使用してCSVファイルとして保存します。
CSVファイルを書き込むためのコンソールアプリケーションを作成する手順は何ですか?
CSVファイルを書き込むためのコンソールアプリケーションを作成するには、Visual Studioで新しいプロジェクトをセットアップし、適切な.NETバージョンを選択し、NuGetパッケージマネージャーからIronXLをインストールします。その後、IronXLを使用してワークブックを作成し、ワークシートにデータを追加し、CSVとして保存します。
Microsoft Excelを使用せずにCSVファイルにデータを書き込めますか?
はい、IronXLを使用してMicrosoft Excelを使用せずにCSVファイルにデータを書き込むことができます。これにより、ExcelをインストールすることなくプログラムでExcelおよびCSVファイルを操作できます。
Visual Studio プロジェクトに IronXL をインストールする方法を教えてください。
Visual StudioのNuGetパッケージマネージャーを開き、'IronXL'を検索して'インストール'をクリックすると、プロジェクトに追加することができます。これにより、ExcelおよびCSVファイルを操作するためのIronXLの機能を利用できるようになります。
IronXLはどのファイル形式をエクスポートにサポートしていますか?
IronXLは、CSV、JSON、HTML、バイナリ、バイト配列、データセット、およびデータテーブルなど、さまざまな形式へのエクスポートをサポートしており、さまざまなデータ処理ニーズに対応できます。
IronXLは異なる.NETバージョンに対応していますか?
はい、IronXLは多数の.NETバージョン、.NET Core 2および3、.NET 5、6、7に対応しており、異なる開発環境での柔軟性を提供します。
IronXLを商用プロジェクトで使用できますか?
はい、IronXLは商業目的でライセンスできます。また、開発用途での無料試用版を提供しており、開発者が商用ライセンスを取得する前にその機能を試すことができます。
C#でIronXLを使用して新しいワークブックとワークシートを作成するにはどうすればよいですか?
`WorkBook.Create()`を利用してワークブックオブジェクトを初期化し、その後新しいワークシートを追加することで、新しいワークブックとワークシートを作成できます。これにより、ワークシートにデータを書き始めることができます。
IronXLはOffice Interop依存性が必要ですか?
いいえ、IronXLはスタンドアロンライブラリであり、Office Interop依存性は必要ありません。これにより、さまざまなプラットフォームでのアプリケーションに簡単に使用およびデプロイできます。






