C#でExcelファイルを編集する方法

C# Edit Excel File

This article was translated from English: Does it need improvement?
Translated
View the article in English

開発者はC#でExcelファイルを変更および編集する際には慎重である必要があります。なぜなら、1つの失敗で文書全体が変わってしまう可能性があるからです。 簡単で効率的なコードラインに依存できることは、エラーのリスクを低減し、Excelファイルをプログラム的に編集または削除するのを容易にしてくれます。 今日は、テスト済みの関数を使ってC#でExcelファイルを正しく迅速に編集するための手順を説明します。

IronXLを使用して特定のセル値をクイック編集

この例では、既存のExcelファイルを読み込み、単一のセルを更新し、IronXLを使用して変更を保存する方法がいかに簡単であるかを示します。 5行以内で始められ、Interopは必要ありません。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    IronXL.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";
    // then save your workbook
    iroExcelWorkBook.SaveAs("file.xlsx");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小限のワークフロー(5ステップ)

  1. C# Edit Excelライブラリをダウンロードする
  2. 特定のセル値を編集する
  3. Excelスプレッドシートの全行を静的な値で編集する
  4. 単一の値でExcelスプレッドシートの全列を編集する
  5. 動的な値で全行を編集する
  6. スプレッドシートの値を置き換える
  7. Excelワークシートから行を削除する
  8. Excelファイルからワークシートを削除する

class="main-content__segment-title">ステップ1

1. IronXLライブラリを使用してC# Excelファイルを編集する

このチュートリアルでは、C# ExcelライブラリであるIronXLによって定義された関数を使用します。 これらの関数を使用するには、まずプロジェクトにダウンロードしてインストールする必要があります(開発用は無料)。

You can either Download IronXL.zip or read more and install via the NuGet package page.

インストールが完了したら、始めましょう!


Install-Package IronXL.Excel

x.x.xを必要に応じて適切なバージョン番号に置き換えてください。


class="main-content__segment-title">チュートリアル方法

2. 特定のセル値を編集する

まずは、Excelスプレッドシートの特定のセル値を編集する方法を見てみます。

この目的のために、修正対象となるExcelスプレッドシートをインポートし、そのワークシートにアクセスします。 その後、以下に示すように修正を適用できます。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

以下はExcelスプレッドシートsample.xlsxのビフォーアフタースクリーンショットです。

ビフォー アフター
ビフォー アフター

Excelスプレッドシートの値を修正するのがいかに簡単かがわかります。

フル行の値を編集する

// 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"
$vbLabelText   $csharpLabel

3. 全行値を編集する

Excelスプレッドシートの全行を静的な値で編集するのは非常に簡単です。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

以下はsample.xlsxのスクリーンショットです。

ビフォー アフター
ビフォー アフター

これにより、範囲関数を使用して行の特定の範囲の値を編集することもできます。

// 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"
$vbLabelText   $csharpLabel

4. 全列値を編集する

上記と同様に、単一の値でExcelスプレッドシートの全列を簡単に編集できます。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

sample.xlsxスプレッドシートを次のように生成します。

ビフォー アフター
ビフォー after

5. 動的な値で全行を編集する

これは、各セルにダイナミックな値を割り当ててフル行を編集できることを意味します。 例を見てみましょう: 例を見てみましょう。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

以下の表では、この出力からExcelスプレッドシートsample.xlsxのスクリーンショットを示しています。

ビフォー アフター
ビフォー アフター

6. 動的な値で全列を編集する

特定の列を動的な値で編集するのも簡単です。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

以下のsample.xlsxの表の結果と共に:

ビフォー アフター
ビフォー アフター

7. スプレッドシートの値を置き換える

Excelスプレッドシートで任意の種類の値を更新した値に置き換えるには、Replaceと呼ばれる関数を使用できます。 この関数を使用すると、必要な状況でExcelスプレッドシートのデータを置き換えることができます。

7.1. 完全なワークシートの特定の値を置き換える

Excelワークシート全体の特定の値を更新された値に置き換えるには、ワークシートws(上記の例と同じ)にアクセスし、次のように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")
$vbLabelText   $csharpLabel

この関数は、完全なExcelワークシート内で古い値新しい値に置き換えます。

上記の例に示すように、変更後はファイルを必ず保存してください。

7.2. 特定の行の値を置き換える

ワークシート全体ではなく特定の行にのみ変更を加えたい場合は、このコードを使用します。

// 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")
$vbLabelText   $csharpLabel

上記のコードは、行番号2古い値新しい値に置き換えます。 残りのワークシートは同じままです。

7.3. 行範囲の値を置き換える

以下のように特定の範囲内の値を置き換えることもできます:

// 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")
$vbLabelText   $csharpLabel

例えば、行番号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")
$vbLabelText   $csharpLabel

7.4. 特定の列の値を置き換える

特定の列の値も置き換え、ワークシートの残りは同じままにできます。

// 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")
$vbLabelText   $csharpLabel

上記のコードは、列番号1古い値新しい値に置き換えます。

7.5. 列範囲の値を置き換える

次のように、特定の列の範囲内で置き換えるために範囲関数を使用することもできます。

// 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")
$vbLabelText   $csharpLabel

上記のコードは、列BについてB5からB10までの範囲で古い値新しい値に置き換えます。


8. Excelワークシートから行を削除する

IronXLは、Excelワークシートの特定の行を削除する非常にシンプルな関数を提供します。 例を見てみましょう。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上記のコードは、以下の表に示すようにsample.xlsxの行番号3を削除します。

ビフォー アフター
ビフォー アフター

9. Excelファイルからワークシートを削除する

Excelファイルの完全なワークシートを削除したい場合、以下の方法を使用できます。

// 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
$vbLabelText   $csharpLabel

wbは、上記の例と同じくワークブックです。 名前でワークシートを削除したい場合:

// 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
$vbLabelText   $csharpLabel

IronXLは、Excelスプレッドシートでの編集や削除を簡単に行うためのさまざまな関数を備えています。 プロジェクトでの使用についてご質問がある場合は、開発チームにお問い合わせください。


class="main-content__segment-title">ライブラリクイックアクセス

class="tutorial-section">
class="row">
class="col-sm-8">

IronXLライブラリのドキュメント

Excelワークブックの編集、削除、スタイリング、仕上げのための様々な機能を持つIronXL C#ライブラリの能力を探求してください。

IronXLライブラリのドキュメント
class="col-sm-4">
class="tutorial-image"> Documentation related to 9. Excelファイルからワークシートを削除する

よくある質問

Interopを使用せずにC#でExcelファイルを編集できますか?

IronXLライブラリを使用することで、Interopを使用せずにC#でExcelファイルを編集できます。IronXLは、セル、行、列の編集やワークシートの削除など、Excelドキュメントを変更するためのさまざまなメソッドを提供します。

IronXLを使用してExcelファイルのセル値を変更する方法は?

IronXLを使用してExcelファイルのセル値を変更するには、Excelワークブックをロードし、特定のワークシートにアクセスします。行と列のインデックスを指定してセル値を変更し、ワークブックを保存します。

C#のExcelアプリケーションで値を置換する方法は?

C#のExcelアプリケーションでは、IronXLのReplace関数を使用して値を置換できます。これにより、特定の行、列、または範囲内のワークシート全体の特定の値を置換できます。

C#でプログラム的にExcelファイルからワークシートを削除する方法は?

IronXLのRemoveWorkSheetメソッドを使用して、C#でプログラム的にExcelファイルからワークシートを削除できます。削除するワークシートを名前またはインデックスで指定できます。

C#でExcelファイルの行全体を編集できますか?

はい、IronXLを使用すると、C#でExcelファイルの行全体を編集できます。列を繰り返し処理することで、行内のセルに静的または動的な値を割り当てることができます。

Excelファイルの列全体に静的な値を設定することは可能ですか?

はい、IronXLを使用すると、Excelファイルの列全体に静的な値を設定できます。必要に応じて、列内の各セルを繰り返し処理することで動的な値を使用することもできます。

C#を使用してExcelワークシートから特定の行を削除するにはどうすればよいですか?

C#を使用してExcelワークシートから特定の行を削除するには、IronXLライブラリのRemoveRowメソッドを使用し、削除したい行を指定します。

C#を使用してExcelファイルの編集を開始する際の初期ステップは?

C#を使用してExcelファイルの編集を開始するには、最初にIronXLライブラリをダウンロードしてインストールします。その後、Excelワークブックをロードし、編集したいワークシートを選択し、IronXLの機能を利用してセル、行、列、またはワークシートを必要に応じて変更します。

IronXLは開発環境に適していますか?

はい、IronXLは開発環境に非常に適しています。開発目的で自由に使用でき、Excelファイルをプログラム的に編集するための包括的な機能を提供します。

C#を使用してExcelファイルを異なるフォーマットに変換する方法は?

IronXLのエクスポート機能を使用して、Excelファイルを異なるフォーマットに変換できます。IronXLのメソッドを使用して、変更されたExcelワークブックをCSV、HTML、PDFなどの形式に保存できます。

Curtis Chau
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はいいですか?
Nuget ダウンロード 1,686,155 | バージョン: 2025.11 ただ今リリースされました