C#でExcelファイルを開いてデータを書き込む方法
この記事は、Microsoft Excelファイルを開き、C#コンソールアプリケーションでデータを書き込む方法を示すためにIronXLライブラリを探求します。
IronXL - Excel ライブラリ
IronXLは、C#アプリケーションでExcelファイルの作成、読み取り、編集を容易にする.NET Excelライブラリです。 それは卓越したパフォーマンスと正確な出力を提供します。 このライブラリは、XLS、XLSX、XLSM、CSV、TSVを含むすべてのExcelブックファイル形式をサポートしており、データをJSON、HTML、バイナリ、バイト配列、DataSet、またはDataTableなどの形式で保存またはエクスポートすることができます。
IronXLを使用すると、開発者はワークシートやセル範囲をシームレスに操作できます。 それは、シート内で数式を編集し、簡単に再計算する機能を提供します。 範囲、列、または行に基づいたデータの並べ替えは簡単です。 このライブラリは、ウィンドウ枠の固定、行列の自動サイズ調整、行列の追加/削除など、レイアウトを変更する機能を提供します。
IronXLは、Excelファイルをユーザーパスワードと編集の許可で保護することもできます。 さらに注目すべき機能は、Excelワークシートから画像を追加、削除、抽出する能力です。 このライブラリは、さまざまなセルデータ形式をサポートする幅広いExcel機能を提供します。 これらの機能により、IronXLはExcelファイルを操作するための最もユーザーフレンドリーなAPIの1つです。
IronXLの大きな利点の1つは、マシンにMicrosoft Excelをインストールする必要がないため、Office Interopやその他の依存関係が不要です。 それは複数のプラットフォームに対応しており、.NET 7、6、5をサポートしています。また、.NET Core 2、3、さらには4.5以降の.NET Frameworkにも互換性があり、Excelスプレッドシートを操作します。
コンソールアプリケーションを作成する
アプリケーションを作成するためには、最新バージョンのVisual Studio IDEを使用することをお勧めします。 Visual StudioはC#開発の公式IDEであり、既にインストールされていることを想定しています。 Visual Studioをまだインストールしていない場合は、公式のMicrosoft Visual Studioサイトからダウンロードできます。
新しいプロジェクト"DemoApp"を作成するには次の手順に従ってください。
- Visual Studioを開き、"Create a New Project"をクリックします
New Project
- Console Applicationを選択し、"Next"をクリックします
New Project Type
- プロジェクトの名前を入力します
New Project Name
- .NET バージョンを選択します。 安定版バージョン.NET 6.0を選択します。
New Project Additional Info
IronXL ライブラリをインストールする
プロジェクトが作成されたら、IronXLライブラリをプロジェクトにインストールして使用します。 それをインストールするために次のステップに従います。
- ソリューションのNuGet Packagesの管理を、Solution Explorerかツールから開きます。
NuGet Package Manager
- IronXLライブラリを検索し、現在のプロジェクトを選択します。 インストールをクリックします。
NuGetパッケージマネージャUIでIronXLパッケージを検索してインストールする
Program.csファイルの上部に次の名前空間を追加します
using IronXL;using IronXL;Imports IronXL既存のExcelファイルをC#で開く
IronXLは既存のExcelファイルを開く機能を提供しますが、新しいExcelファイルを作成することもできます。この例ではC# IronXLを使用して既存のファイルを開きます。
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")では、その最初のワークシートを選択しましょう。 ワークシートはインデックス番号または名前で選択することができます。 DefaultWorkSheetプロパティは最初のシートを取得するのに役立ちます。
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Select worksheet by name
WorkSheet ws = workBook.GetWorkSheet("Sheet1");
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Select worksheet by name
WorkSheet ws = workBook.GetWorkSheet("Sheet1");
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Select worksheet by name
Dim ws As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet上記のコードはExcelブックの最初のシートを取得します。 データを含む新しいExcelファイルを作成するには、このコード例ページを確認してください。
では、IronXLオブジェクトライブラリを使用してExcelファイルにデータを書き込みましょう。
Excelファイルにデータを書き込む C#
IronXLを使用してExcelファイルにデータを書くことは非常に簡単です。 それを達成する複数の方法がありますが、最も簡単な方法はExcelのセル参照を使用することです。
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";' Access A1 cell and write the value
workSheet("A1").Value = "Value using cell reference"セルの範囲にデータを書き込むことも可能です。 以下のコードはセルB1からB5にデータを書き込みます。
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";' Write the same value to cells from B1 to B5
workSheet("B1:B5").Value = "Range value"私たちはforループで範囲を埋めることもでき、それを動的にします。 コードは次の通りです:
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
// Write the Dynamic value in column C
workSheet["C" + i].Value = "Value: " + i;
// Write the Dynamic value in column D
workSheet["D" + i].Value = "Value: " + i;
}// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
// Write the Dynamic value in column C
workSheet["C" + i].Value = "Value: " + i;
// Write the Dynamic value in column D
workSheet["D" + i].Value = "Value: " + i;
}' Specify range in which we want to write the values
For i As Integer = 1 To 5
' Write the Dynamic value in column C
workSheet("C" & i).Value = "Value: " & i
' Write the Dynamic value in column D
workSheet("D" & i).Value = "Value: " & i
Next iExcelファイルにデータを書く別の方法は、Replaceメソッドを使用することです。
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");' Replace the value in cell D5
workSheet("D5").Replace("Value: 5", "Replaced Value")C#でExcelファイルを保存する
このセクションでは、新しく書き込まれた内容でExcelファイルを保存する方法を説明します。
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");' Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx")完全なコードは以下の通りです:
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
// Write the Dynamic value in column C
workSheet["C" + i].Value = "Value: " + i;
// Write the Dynamic value in column D
workSheet["D" + i].Value = "Value: " + i;
}
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
Console.WriteLine("Successfully written to Excel File");
}
}using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
// Write the Dynamic value in column C
workSheet["C" + i].Value = "Value: " + i;
// Write the Dynamic value in column D
workSheet["D" + i].Value = "Value: " + i;
}
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
Console.WriteLine("Successfully written to Excel File");
}
}Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Access A1 cell and write the value
workSheet("A1").Value = "Value using cell reference"
' Write the same value to cells from B1 to B5
workSheet("B1:B5").Value = "Range value"
' Specify range in which we want to write the values
For i As Integer = 1 To 5
' Write the Dynamic value in column C
workSheet("C" & i).Value = "Value: " & i
' Write the Dynamic value in column D
workSheet("D" & i).Value = "Value: " & i
Next i
' Replace the value in cell D5
workSheet("D5").Replace("Value: 5", "Replaced Value")
' Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx")
Console.WriteLine("Successfully written to Excel File")
End Sub
End ClassC#でExcelファイルのデータを読み取る方法の詳細情報については、この例を参照してください。
出力
ファイルの出力は次の通りです:
出力されたExcelファイル
まとめ
この記事は、IronXLを使用してC#でExcelファイルにデータを書き込む方法を示しました。 IronXL は既存の Excel ファイルを簡単に扱う機能を提供します。 また、新しいExcelファイルを作成し、簡単な構文でデータを書き込むことも可能です。 IronXLはMicrosoft ExcelアプリケーションをインストールしなくてもExcelファイルを読み取ることができます。 Excelファイルからデータを読み取るには、このコード例ページを参照できます。
IronXL は開発用に無料で、商用利用のためにライセンスを取得できます。 商業利用のためのIronXLの無料トライアルも試すことができます。
よくある質問
C#でInteropを使用せずにExcelファイルを開く方法は?
IronXLライブラリを活用することで、C#でInteropを使用せずにExcelファイルを開くことができます。IronXLは、Microsoft Excelのインストールを必要とせず、パフォーマンスと互換性を向上させます。
C#を使用してExcelファイルの特定のセルにデータを書き込む方法は?
IronXLを使用すると、ワークブックにアクセスしてワークシートを選択し、セル参照を使ってExcelファイルの特定のセルにデータを割り当てることができます。
Excelファイル操作において、IronXLがOffice Interopよりも優れている点は何ですか?
IronXLは、Microsoft Excelのインストールに依存しない、パフォーマンスの向上、クロスプラットフォーム互換性、XLS、XLSX、CSVなどのさまざまなExcelファイル形式のサポートなど、Office Interopよりも多くの利点を提供します。
このライブラリを使用してExcelファイルの数式を編集できますか?
はい、IronXLを使用するとExcelファイルの数式を編集できます。既存の数式を操作したり、新しいものを挿入したりすることができ、ライブラリは簡潔な構文を効率的に処理します。
IronXLはさまざまなExcelファイル形式をどのようにサポートしていますか?
IronXLは、XLS、XLSX、XLSM、CSV、TSVなど、さまざまなExcelファイル形式をサポートしており、C#アプリケーションでこれらのファイルをスムーズに作成、読み取り、編集できます。
IronXLを使用してExcelファイルを保護することは可能ですか?
はい、IronXLは、ユーザーパスワードと権限を設定することでExcelファイルを保護する機能を提供し、データのセキュリティとアクセス制御を確保します。
C#プロジェクトにIronXLライブラリを統合する方法は?
C#プロジェクトにIronXLを統合するには、Visual StudioのNuGetパッケージマネージャーを使用します。IronXLを検索し、プロジェクトに追加してその機能を利用し始めます。
IronXLが対応しているプラットフォームは何ですか?
IronXLは、.NET 5、6、7、.NET Core、およびFrameworkを含む複数のプラットフォームをサポートしており、さまざまな開発環境に対して柔軟な選択肢となっています。
IronXLを無料で使用できますか?
IronXLは開発目的で無料です。ただし、商用利用にはライセンスが必要です。商用環境でライブラリの機能をテストするための無料試用版が利用可能です。
IronXLを使用してExcelデータをJSONにエクスポートするにはどうすればよいですか?
IronXLを使用すると、ワークシートまたは特定のデータ範囲をJSON文字列に変換し、JSONデータを必要とするアプリケーションで使用することができます。






