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

C#35;エクセルファイルを編集する

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

IronXLライブラリを使用してC#でExcelファイルを編集します。IronXLライブラリは、Excel Interopを使用せずにセル、行、列、ワークシートをプログラムで変更するシンプルなメソッドを提供し、エラーや複雑さを軽減します。

C#でExcelファイルを修正する場合、1つのエラーがドキュメント全体を破損する可能性があるため、開発者には正確さが求められます。 シンプルで効率的なコードは、エラーのリスクを軽減し、プログラムによるExcelファイルの編集や削除を簡素化します。 IronXLはC#でExcelファイルを扱うための包括的なソリューションを提供し、Microsoft Officeへの依存を排除します。 このガイドでは、テスト済みの関数を使用して、C#でExcelファイルを正確かつ迅速に編集する手順を説明します。

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

この例では、既存のExcelファイルを読み込み、1つのセルを更新し、IronXLを使用して変更を保存する方法を示します。 5行以内で始められ、Interopは必要ありません。 複雑な操作については、包括的なAPIリファレンスをご覧ください。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronXL をインストールします

    PM > Install-Package IronXL.Excel

  2. このコード スニペットをコピーして実行します。

    IronXL.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";
    // then save your workbook
    iroExcelWorkBook.SaveAs("file.xlsx");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう
    arrow pointer

ステップ1

どのようにIronXLをC#Excel編集用に設定しますか?

このチュートリアルではC#のExcelライブラリIronXLを使用します。 これらの機能を使用するには、ダウンロードしてプロジェクトにインストールしてください(開発には無料)。 IronXL は、LinuxmacOSを含むさまざまなプラットフォームをサポートしており、クロスプラットフォーム開発に汎用性があります。

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スプレッドシートの特定のセルの値を編集する方法を学びます。 C#でExcelファイルを編集するときに最も一般的な操作の1つです。

修正するExcelスプレッドシートをインポートし、そのワークシートにアクセスします。 以下のように修正してください。 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

ビフォーアフター
国カラムの"France"を示すセルをハイライトしたExcelスプレッドシート。セルの内容を編集した後、ExcelのセルB4に青い選択枠で"新しい値"が表示されます

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

Excelで行全体の値を編集するには?

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のスクリーンショットです。

ビフォーアフター
モンタナ製品を使用したフランスの政府セグメントデータを示す4行目がハイライトされたExcelスプレッドシート売上データのスプレッドシートのすべての列にわたって"新しい値"エントリが追加された新しい行を示すExcelの表

範囲関数を使用して、行内の特定の範囲の値を編集します:

// 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

範囲を使って作業する場合、並べ替えや数式の適用などの高度な操作のために、範囲の選択も必要になるかもしれません。


Excelで列全体の値を編集するには?

Excel SpreadSheetの全列の値を1つの値で簡単に編集できます。 これは、通貨列の更新、新しい税率の適用、列全体のデータフォーマットの標準化などのシナリオに適しています。

: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スプレッドシートが作成されます:

ビフォーアフター
国カラムが青くハイライトされたExcelスプレッドシート。列の一括編集操作後にB列が"新しい値"テキストで満たされた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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

下の表は、このアウトプットのExcel SpreadSheet sample.xlsxのスクリーンショットです:

ビフォーアフター
動的な値で編集する前のエンタープライズセグメントのデータを示す4行目がハイライトされたExcelスプレッドシート動的な行編集操作の後、行4に"新しい値0-4"のプレースホルダ・テキストが表示されたExcelシート

動的な値を持つ完全なカラムを編集するにはどうすればよいですか?

特定の列を動的な値で簡単に編集できます。 このテクニックは、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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

ビフォーアフター
国カラムがハイライトされたExcelスプレッドシート。一括編集操作の後、動的プレースホルダ値"新しい値1-9"で満たされた"国"列を表示するExcelシート

Excelでスプレッドシートの値を置換するには?

Replace関数を使用して、Excel SpreadSheetの任意の値の型を更新された値に置き換えます。 この関数を使用して、必要な状況でExcelスプレッドシートのデータを置き換えます。 これは、データのクリーニング、用語の更新、スプレッドシート全体の体系的なエラーの修正に適しています。

ワークシート全体の値を置換するには?

ExcelのWorkSheet全体の特定の値を更新された値に置き換えるには、WorkSheet 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で手作業で検索と置換を行う必要がある一括更新のための強力な機能です。

上記の例のように、変更後はファイルを保存することを忘れないでください。 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")
$vbLabelText   $csharpLabel

上記のコードでは、古い値新しい値に置き換えるのは2行目のみです。残りの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")
$vbLabelText   $csharpLabel

行番号4B4から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

特定の列の値を置き換えるにはどうすればよいですか?

ワークシートの残りの部分は変更せずに、特定の列の値を置き換える:

// 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に対してのみ、古い値新しい値に置き換えています。

列範囲の値を置き換えるにはどうすればよいですか?

特定の列の範囲内で置換するには、範囲関数を使用します:

// 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までの範囲内においてのみ、古い値新しい値に置き換えます。


Excelワークシートから行を削除するには?

IronXLはエクセルのワークシートの特定の行を削除するシンプルな関数を提供します。 この機能は、データのクリーニングやスプレッドシートから古いレコードを削除する際に役立ちます。 例をご覧ください:

: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を削除します:

ビフォーアフター
行削除操作前のカナダの政府セグメントデータを示す4行目がハイライトされたExcelワークシート行削除操作後の結果を示す、4行目が青くハイライトされたExcelワークシート

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は、上記の例と同じWorkBookです。 名前でワークシートを削除するには

// 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には、Excelスプレッドシートのあらゆるタイプの編集や削除を簡単に実行するための、より多くの機能が含まれています。 Excel のグラフを作成する 条件付き書式を適用する 数式を使用するなど、その他の機能を探求してください。 プロジェクトでのIronXLの使用に関するご質問は、開発チームまでお問い合わせください。


ライブラリのクイックアクセス

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

Excel ワークブックの編集、削除、スタイル設定、および完成のためのさまざまな機能を備えた IronXL C# ライブラリの全機能を探索します。

IronXL ライブラリドキュメント
Documentation related to Excelファイルからワークシートを削除するには?

よくある質問

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が不要になるため、複雑さが軽減され、パフォーマンスが向上します。

カーティス・チャウ
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 1,765,830 | バージョン: 2025.12 リリース