C#エクセルファイルを編集する
IronXLライブラリを使用してC#でExcelファイルを編集します。IronXLライブラリは、Excel Interopを使用せずにセル、行、列、ワークシートをプログラムで変更するシンプルなメソッドを提供し、エラーや複雑さを軽減します。
C#でExcelファイルを修正する場合、1つのエラーがドキュメント全体を破損する可能性があるため、開発者には正確さが求められます。 シンプルで効率的なコードは、エラーのリスクを軽減し、プログラムによるExcelファイルの編集や削除を簡素化します。 IronXLはC#でExcelファイルを扱うための包括的なソリューションを提供し、Microsoft Officeへの依存を排除します。 このガイドでは、テスト済みの関数を使用して、C#でExcelファイルを正確かつ迅速に編集する手順を説明します。
クイックスタート:IronXLで特定のセル値を編集
この例では、既存のExcelファイルを読み込み、1つのセルを更新し、IronXLを使用して変更を保存する方法を示します。 5行以内で始められ、Interopは必要ありません。 複雑な操作については、包括的なAPIリファレンスをご覧ください。
最小限のワークフロー(8ステップ)
- C# 編集 Excel ライブラリをダウンロードする
- 特定のセル値を編集
- 静的な値で行全体の値を編集する
- 単一の値で列全体を編集する
- 動的な値でフル行を編集
- スプレッドシートの値を置換
- Excelワークシートから行を削除
- Excelファイルからワークシートを削除
ステップ1
どのようにIronXLをC#Excel編集用に設定しますか?
このチュートリアルではC#のExcelライブラリIronXLを使用します。 これらの機能を使用するには、ダウンロードしてプロジェクトにインストールしてください(開発には無料)。 IronXL は、LinuxやmacOSを含むさまざまなプラットフォームをサポートしており、クロスプラットフォーム開発に汎用性があります。
You can either Download IronXL.zip or read more and install via the NuGet package page.
インストールが完了したら、始めましょう。 IronXLは初めてですか? Get Started Overview で包括的な紹介をご確認ください。
Install-Package IronXL.Excel
必要に応じて、x.x.x を適切なバージョン番号に置き換えてください。
チュートリアル
Excelで特定のセルの値を編集するにはどうすればよいですか?
まず、Excelの特定のセル値を編集する方法について学びましょう SpreadSheet。 C#でExcelファイルを編集するときに最も一般的な操作の1つです。
編集するExcelファイルをWorkSheetにアクセスしてください。 以下のように修正してください。 IronXLはセルにアクセスする複数の方法を提供し、さまざまなプログラミングスタイルに柔軟に対応します。
:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-specific-cell-value.cs
using IronXL;
// Load the Excel workbook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Access a specific worksheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Access specific cell by identifying its row and column, then modify its value
ws.Rows[3].Columns[1].Value = "New Value";
// Save changes to the workbook
wb.SaveAs("sample.xlsx");
Imports IronXL
' Load the Excel workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Access a specific worksheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Access specific cell by identifying its row and column, then modify its value
ws.Rows(3).Columns(1).Value = "New Value"
' Save changes to the workbook
wb.SaveAs("sample.xlsx")
以下は、Excel SpreadSheet sample.xlsx の翻訳前後のスクリーンショットです:
| ビフォー | アフター |
|---|---|
| <img src="/img/faq/excel/csharp-edit-excel-file/doc5_before1.png" alt=""国"列に"フランス"と表示されたセルがハイライトされたExcelスプレッドシート。編集のためのセル選択を示しています"> | ![]() |
ExcelのSpreadSheet値を修正するのがいかに簡単か、ご確認ください。 このアプローチは、スプレッドシートの残りの部分に影響を与えることなく、特定のデータポイントを更新する場合に効果的です。
セルアドレスで特定のセルの値を編集する代替方法:
// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
' Alternative way to access specific cell and apply changes
ws("B4").Value = "New Value"
Excelで行全体の値を編集するには?
Excel SpreadSheet の行全体を、静的な値で簡単に編集できます。 この操作は、データのリセットや一括更新の適用など、レコード全体を一度に更新する際に役立ちます。 複雑な行の操作については、行と列の追加を調べてください。
:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
Imports IronXL
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire row
ws.Rows(3).Value = "New Value"
wb.SaveAs("sample.xlsx")
以下の sample.xlsx のスクリーンショットを参照してください:
| ビフォー | アフター |
|---|---|
![]() |
![]() |
range 関数を使用して、行内の特定の範囲の値を編集します:
// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
' Editing a specific range of a row
ws("A3:E3").Value = "New Value"
範囲を使って作業する場合、並べ替えや数式の適用などの高度な操作のために、範囲の選択も必要になるかもしれません。
Excelで列全体の値を編集するには?
ExcelのSpreadSheet値を含む列全体を、単一の値で簡単に編集できます。 これは、通貨列の更新、新しい税率の適用、列全体のデータフォーマットの標準化などのシナリオに適しています。
:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column.cs
using IronXL;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire column
ws.Columns[1].Value = "New Value";
wb.SaveAs("sample.xlsx");
Imports IronXL
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire column
ws.Columns(1).Value = "New Value"
wb.SaveAs("sample.xlsx")
これにより、次のような sample.xlsx スプレッドシートが生成されます:
| ビフォー | アフター |
|---|---|
| <img src="/img/faq/excel/csharp-edit-excel-file/doc5_before4.png" alt=""国"列が青色でハイライトされたExcelスプレッドシート。セグメントおよび国ごとのビジネスデータが表示されています"> | ![]() |
動的な値で行全体を編集するにはどうすればよいですか?
IronXLは特定の行を動的な値で編集することができます。 各セルに動的な値を割り当てて、行全体を編集します。 このアプローチは、セルごとにユニークな値を必要とするデータベースやその他のソースからデータをインポートする場合に効果的です。 例をご覧ください:
:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-row-dynamic.cs
using IronXL;
using System.Linq;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
// Assign dynamic values to each cell in the row
ws.Rows[3].Columns[i].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
Imports IronXL
Imports System.Linq
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 0 To ws.Columns.Count() - 1
' Assign dynamic values to each cell in the row
ws.Rows(3).Columns(i).Value = "New Value " & i.ToString()
Next
wb.SaveAs("sample.xlsx")
以下の表は、この出力結果からの Excel SpreadSheet sample.xlsx のスクリーンショットを示しています:
| ビフォー | アフター |
|---|---|
![]() |
![]() |
動的な値を持つ完全なカラムを編集するにはどうすればよいですか?
特定の列を動的な値で簡単に編集できます。 このテクニックは、ID番号、日付、または行の位置に基づく計算値のような連続したデータを列に入力するのに役立ちます。
:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column-dynamic.cs
using IronXL;
using System.Linq;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
// Skip the first row if it's used as a header
if (i == 0)
continue;
// Assign dynamic values to each cell in the column
ws.Rows[i].Columns[1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
Imports IronXL
Imports System.Linq
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 0 To ws.Rows.Count() - 1
' Skip the first row if it's used as a header
If i = 0 Then
Continue For
End If
' Assign dynamic values to each cell in the column
ws.Rows(i).Columns(1).Value = "New Value " & i.ToString()
Next
wb.SaveAs("sample.xlsx")
以下の sample.xlsx の表の結果について:
| ビフォー | アフター |
|---|---|
| <img src="/img/faq/excel/csharp-edit-excel-file/doc5_before5.png" alt=""国"列がハイライトされたExcelスプレッドシート。セグメントおよび製品ごとのビジネスデータが表示されています"> | ![]() |
Excelでスプレッドシートの値を置換するには?
Excel SpreadSheet 内の値型を、Replace 関数を使用して更新された値に置き換えます。 必要な状況で、この関数を使用して Excel の SpreadSheet データを置換してください。 これは、データのクリーニング、用語の更新、スプレッドシート全体の体系的なエラーの修正に適しています。
ワークシート全体の値を置換するには?
Excel ファイル全体(Replace 関数を適用します:
// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
' Replace a specific value in the entire worksheet
ws.Replace("old value", "new value")
この関数は、Excelの完全なnew valueに置換します。 これは、Excelで手作業で検索と置換を行う必要がある一括更新のための強力な機能です。
上記の例のように、変更後はファイルを保存することを忘れないでください。 Excelファイルの保存とエクスポートの詳細については、スプレッドシートファイルタイプの変換のガイドを参照してください。
特定の行の値を置き換えるにはどうすればよいですか?
ワークシート全体ではなく、特定の行に変更を加えるには、次のコードを使用してください:
// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
' Replace a specific value in a specific row
ws.Rows(2).Replace("old value", "new value")
上記のコードは、行番号 2 においてのみ old value を new value に置き換えます。それ以外の WorkSheet は変更されません。
行の範囲の値を置き換えるにはどうすればよいですか?
以下のように、特定の範囲内の値を置き換えてください:
// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
' Replace specific values in a row range
ws("From Cell Address : To Cell Address").Replace("old value", "new value")
行番号 4 の B4 から E4 の範囲にある古い値を新しい値に置き換えるには、次のように記述します:
ws["B4:E4"].Replace("old value", "new value");
ws["B4:E4"].Replace("old value", "new value");
ws("B4:E4").Replace("old value", "new value")
特定の列の値を置き換えるにはどうすればよいですか?
ワークシートの残りの部分は変更せずに、特定の列の値を置き換える:
// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
' Replace specific values in a column
ws.Columns(1).Replace("old value", "new value")
上記のコードは、1列目のみ old value を new value に置き換えます。
列範囲の値を置き換えるにはどうすればよいですか?
特定の列の範囲内で置換を行うには、range 関数を使用してください:
// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
' Replace specific values in a column range
ws("B5:B10").Replace("old value", "new value")
上記のコードは、B列において、B5 から B10 の範囲内でのみ、old value を new value に置換します。
Excelワークシートから行を削除するには?
IronXLは、Excelの特定の行を削除するためのシンプルな関数を提供しています SpreadSheet。 この機能は、データのクリーニングやスプレッドシートから古いレコードを削除する際に役立ちます。 例をご覧ください:
:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
Imports IronXL
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Setting a static value for the entire row
ws.Rows(3).Value = "New Value"
wb.SaveAs("sample.xlsx")
上記のコードは、以下の表に示すように、SpreadSheet sample.xlsx の3行目を削除します:
| ビフォー | アフター |
|---|---|
![]() |
![]() |
Excelファイルからワークシートを削除するには?
Excel ファイルから WorkSheet を完全に削除するには、次の方法を使用します。 これは、データを統合したり、計算に使用する一時的なワークシートを削除したりする際に役立ちます。 ワークシートの管理の詳細については、ワークシートの管理のガイドを参照してください。
// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
' Remove a worksheet by its index
wb.RemoveWorkSheet(1) ' by sheet indexing
WorkSheet WorkSheet は WorkSheet であり、上記の例と同様です。 名前でワークシートを削除するには
// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
' Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1") 'by sheet name
IronXLには、Excelでのあらゆる種類の編集や削除を簡単に行える機能がさらに多数搭載されています SpreadSheets。 Excel のグラフを作成する、 条件付き書式を適用する、 数式を使用するなど、その他の機能を探求してください。 プロジェクトでのIronXLの使用に関するご質問は、開発チームまでお問い合わせください。
ライブラリのクイックアクセス
IronXL ライブラリドキュメント
Excel ワークブックの編集、削除、スタイル設定、および完成のためのさまざまな機能を備えた IronXL C# ライブラリの全機能を探索します。
IronXL ライブラリドキュメントよくある質問
Microsoft Officeがインストールされていない状態で、C#でExcelファイルを編集するにはどうすればよいですか?
IronXLは、Microsoft OfficeやExcel Interopを必要とせずに、C#でExcelファイルを編集することができます。セル、行、列、ワークシートをプログラムで変更できるスタンドアロン・ライブラリを提供し、Officeへの依存を排除し、LinuxやmacOSを含むプラットフォーム間で動作します。
C#を使用してExcelファイルのセルの値を更新する最も簡単な方法は何ですか?
IronXLを使えば、わずか数行のコードでセルの値を更新することができます:IronXl.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";そしてワークブックを保存します。この方法ではExcelとの連携は不要で、直接セルにアクセスできます。
Excelの行や列全体をプログラムで編集できますか?
はい、IronXLは静的あるいは動的な値による行と列の編集をサポートしています。単一の値で行全体を変更したり、プログラムで列に入力したり、データベースや計算のようなさまざまなソースからの動的データで行を更新することができます。
C#でExcelファイルから行やワークシートを削除するには?
IronXLは、Excelファイルからワークシートの行を削除したり、ワークシート全体を削除する簡単な方法を提供します。これらの操作はExcelをインストールすることなくプログラムで実行されるため、サーバーサイドのアプリケーションに最適です。
Excelスプレッドシート全体の値を検索して置換することは可能ですか?
はい、IronXLにはスプレッドシート全体の値を検索し置換する機能があります。プログラムによって特定の値を検索し、新しいデータに置き換えることができます。これはExcelのネイティブの検索と置換機能に似ていますが、C#コードによって自動化されています。
C# Excel編集ライブラリはどのプラットフォームをサポートしていますか?
IronXLはWindows、Linux、macOSを含む複数のプラットフォームをサポートしており、クロスプラットフォームでの開発に汎用性があります。これにより、導入環境に関係なくC#アプリケーションでExcelファイルを編集することができます。
C#でExcelファイルを編集するにはどうすればよいですか?
翻訳を始めるには、NuGetパッケージマネージャ経由でIronXLをダウンロードしてインストールしてください。このライブラリは開発用として無料で利用できます。インストールが完了したら、すぐにExcelファイルの読み込み、セルの修正、変更の保存をシンプルで直感的なコードで始めることができます。
プログラムによるExcel編集の利点は何ですか?
IronXLはプログラムによるExcel編集を可能にし、人的ミスを減らし、繰り返し作業を自動化し、手作業では時間のかかる一括操作を可能にします。また、ExcelのInteropが不要になるため、複雑さが軽減され、パフォーマンスが向上します。










