C#によるNETでのExcelファイルへの書き込み方法

IronXL を使用して C# で Excel .NET 関数を記述する

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

IronXLを使用してC#でExcelデータを記述し、ワークシートにアクセスし、単純な括弧記法でセルの値を設定し、変更を保存します。 このライブラリは、特定のセルや範囲への書き込みをサポートし、複雑なコードなしでプログラム的に値を置き換えることができます。

C#アプリケーションでは、Excelスプレッドシートのファイルをプログラムで更新したり、新しいデータを書き込んだりする必要がよくあります。 Excel .NETの機能は時に複雑になることがありますが、IronXLライブラリを使えばこの作業は簡単で、あらゆる形式のExcelスプレッドシートを扱うことができます。 特定のセルに直接アクセスし、最小限のコードでカスタム値を割り当てることができます。 新しいスプレッドシートを作成する場合でも、既存のExcelファイルを編集する場合でも、IronXLはExcel自動化のすべてのニーズに直感的な方法を提供します。

クイックスタート: 特定のセルに値を書く

この例では、IronXLを使用して1つのセルに値を書き込み、わずか数行でExcelファイルを保存する方法を示します。

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

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

    PM > Install-Package IronXL.Excel

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

    worksheet["A1"].Value = "Hello, IronXL!";
    workbook.SaveAs("output.xlsx");
  3. 実際の環境でテストするためにデプロイする

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

Excel .NET 命令の記述

  • Excel .NET 用のライブラリをダウンロード
  • 特定のセルに値を書き込み
  • 複数のセルに静的な値を書き込み
  • セル範囲に動的な値を書き込み
  • 特定の行、列、範囲などでセルの値を置換
How To Work related to IronXL を使用して C# で Excel .NET 関数を記述する.

どのように Excel ファイルにアクセスしますか?

まず、データを書き込むExcelファイルにアクセスします。 プロジェクトでExcelファイルを開き、次のコードを使って特定のワークシートを開いてください。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-load-file.cs
// Load Excel file in the project
WorkBook workBook = WorkBook.Load("path");
$vbLabelText   $csharpLabel

上記は、指定されたExcelファイルを開きます。次に、ワークシートにアクセスします。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-get-sheet.cs
// Open Excel WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
$vbLabelText   $csharpLabel

Excel ワークシートは workSheet で開きます。リンク先の例を通して、Excelファイルをロードする方法や、さまざまな方法でワークシートにアクセスする方法について詳しく学んでください。 複数のワークシートで作業する場合は、ワークシートの管理のガイドをご覧ください。プログラムによるシートの追加、名前の変更、削除について説明しています。

注意: プロジェクトにIronXLの参照を追加し、ライブラリをusing IronXLを使用してインポートするのを忘れずに。


特定のセルに値を書き込むにはどうすればよいですか?

Excelファイルにはさまざまな方法で書き込むことができますが、基本的なアプローチではExcelCellを使用します。 この目的のために、開かれたExcelワークシートの任意のセルにアクセスし、以下のようにしてそこに値を書き込むことができます。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell.cs
workSheet["Cell Address"].Value="Assign the Value";
$vbLabelText   $csharpLabel

上記の関数を使用して、C#プロジェクトのExcelセルに記述する例を示します。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-full.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Access A1 cell and write the value
workSheet["A1"].Value = "new value";

// Save changes
workBook.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

このコードは、Excelファイルsample.xlsxのワークシートSheet1のセルA1新しい値を書き込みます。 同じように、Excelファイルの任意のセルアドレスに値を挿入することができます。セルのフォントやサイズの設定背景色やパターンの適用など、より高度な書式設定オプションのために、IronXLは包括的なスタイリング機能を提供します。

注意: 上記の例のように、ワークシートに新しい値を書き込んだ後、Excelファイルを保存するのを忘れないでください。

正確な値を強制的に割り当てるのはなぜですか?

Valueプロパティを設定するとき、IronXLはそれを対応する値型に変換しようとします。 変換せずにセルに正確な値を強制的に割り当てたいため、この評価が望ましくないこともあります。 これを行うには、値を文字列として割り当てます。 IronXLでは、同じ効果を達成するためにValueの代わりにStringValueを使用します。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs
// Assign value as string
workSheet["A1"].StringValue = "4402-12";
$vbLabelText   $csharpLabel

範囲内に静的な値を書くにはどうすればよいですか?

次のように、範囲と呼ばれる複数のセルに新しい値を書き込むことができます:

// Assign a static value to a range of cells
worksheet["B2:C5"].Value = "static value";
// Assign a static value to a range of cells
worksheet["B2:C5"].Value = "static value";
$vbLabelText   $csharpLabel

このように、データを書き込むセルFromからToの範囲を指定します。 新しい値は、この範囲内のすべてのセルに書き込まれます。 C# Excel Rangeについてもっと理解するには、こちらの例をチェックしてください。

以下の例で、実際にどのように範囲を書くかをご覧ください。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-range-full.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify range row wise and write new value
workSheet["B2:B9"].Value = "new value";

// Specify range column wise and write new value
workSheet["C3:C7"].Value = "new value";

// Save changes
workBook.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

このコードは、Excelファイルsample.xlsxのワークシートSheet1B2からC5新しい値を書き込みます。 Excelセルに静的な値を使用します。


範囲内に動的な値を書くにはどうすればよいですか?

以下のように、範囲に動的な値を追加することもできます。 これは、データベースからデータを入力する必要がある場合や、レポートを作成する場合に特に役立ちます。 また、より複雑なデータ操作のために、データセットとしてインポートおよびエクスポートすることも検討するとよいでしょう。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-dynamic-value.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify range in which we want to write the values
for (int i = 2; i <= 7; i++)
{
    // Write the Dynamic value in one row
    workSheet["B" + i].Value = "Value" + i;

    // Write the Dynamic value in another row
    workSheet["D" + i].Value = "Value" + i;
}

// Save changes
workBook.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

上記のコードは、Excelファイルsample.xlsx2から7までの列Bに動的な値を書き込みます。 sample.xlsxでコードの結果を見ることができます。

B2:B7とD2:D7の2つのハイライト範囲にValue2からValue7を入力したスプレッドシート

どのように Excel のセルの値を置換しますか?

IronXLを使用すると、以下のようにReplace()関数を使用して、古い値を置き換える新しい値を簡単に書くことができます:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace.cs
workSheet.Replace("old value", "new value");
$vbLabelText   $csharpLabel

上記の関数は、新しい値古い値に上書きします。

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

特定の行にのみ新しい値を書きたい場合は、次のようにします:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-row.cs
workSheet.Rows[RowIndex].Replace("old value", "new value");
$vbLabelText   $csharpLabel

これは、新しい値古い値の上に、指定された行インデックスにのみ書き込みます。

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

同様に、特定の列内で古い値の上に新しい値を書きたい場合は、次のようにします:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-column.cs
workSheet.Columns[ColumnIndex].Replace("old value", "new Value");
$vbLabelText   $csharpLabel

上記のコードは、古い値を置き換えるために新しい値を記述しますが、指定された列インデックスにのみ記述します。 ワークシートの残りは同じままです。

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

IronXLは、指定された範囲内のみでold valueを置き換えるnew valueを書く方法も提供します。 これは、特定のデータ領域を扱う場合や、スプレッドシートの特定のセクションの値を更新する必要がある場合に役立ちます。 より高度な範囲操作については、セル範囲のソートに関するガイドを参照してください。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-range.cs
workSheet["From Cell Address : To Cell Address"].Replace("old value", "new value");
$vbLabelText   $csharpLabel

これは、新しい値古い値の上に、指定された範囲内のセルだけに書き込みます。

上記の関数をすべて使用して、Excelワークシートの古い値を置き換える新しい値を記述する方法の例を参照してください。

完全な置換例はどのようなものですか?

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-full.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Write new above old in complete WorkSheet
workSheet.Replace("old", "new");

// Write new above old just in row no 6 of WorkSheet
workSheet.Rows[5].Replace("old", "new");

// Write new above old just in column no 5 of WorkSheet
workSheet.Columns[4].Replace("old", "new");

// Write new above old just from A5 to H5 of WorkSheet
workSheet["A5:H5"].Replace("old", "new");

workBook.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

Excel .NET アプリケーションの書き方についての詳細や、C#でのExcelファイルのオープンと書き込みについての完全なチュートリアルをチェックしてください。 異なるファイル形式で作業している場合は、スプレッドシートファイルの種類の変換に関するガイドも参考になるでしょう。


チュートリアル クイックアクセス

APIリファレンスを読む

ライブラリで使用できるすべての関数、機能、名前空間、クラス、列挙型のリストを含む IronXL ドキュメントをお読みください。

APIリファレンスを読む
Documentation related to チュートリアル クイックアクセス

よくある質問

C#を使用して、Excelファイルの特定のセルに値を書き込むにはどうすればよいですか?

IronXLでは、ブラケット記法でアクセスしてValueプロパティを設定するだけで、特定のセルに書き込むことができます。例えば、worksheet["A1"].Value = "Hello, IronXL!"; そしてworkbook.SaveAs("output.xlsx")でワークブックを保存する。この簡単な方法により、複雑なExcelのインターオプ・コードが不要になります。

プログラムでExcelファイルにデータを書き込むための最初のステップは何ですか?

最初のステップはIronXLのWorkBook.Load()メソッドを使ってExcelファイルを読み込み、データを書き込みたい特定のワークシートにアクセスすることです。IronXLは直感的なメソッドでこれを簡単にし、どのようなExcelフォーマットでも開いてすぐにセルや範囲を操作できるようにします。

Excelで一度に複数のセルにデータを書き込むことはできますか?

はい、IronXLは複数のセルへの書き込みを効率的にサポートしています。複数の特定のセルに個別に静的な値を書き込むこともできますし、セル範囲を使って複数のセルにプログラム的に動的な値を書き込むこともできます。ライブラリは単一セル操作と一括データ書き込みの両方のメソッドを提供します。

Excelスプレッドシートの既存のセル値を置き換える方法を教えてください。

IronXLでは、セルにアクセスして新しい値を代入するだけで、セルの値を置き換えることができます。特定の行、列、範囲の値を置き換えることができます。セルに新しい値を代入すると、ライブラリは自動的に既存のデータの上書きを処理します。

データを書き込むためにサポートされているExcelファイル形式は何ですか?

IronXLは.xlsx、.xls、.xlsm、CSVファイルを含むすべての主要なExcelファイル形式への書き込みをサポートしています。ライブラリはフォーマット固有の要件を自動的に処理するため、コードのアプローチを変更することなく、あらゆるフォーマットのExcelスプレッドシートを扱うことができます。

C#でExcelファイルを書くには、Microsoft Excelがインストールされている必要がありますか?

IronXLはMicrosoft ExcelやOffice Interopを必要とせず、独立して動作します。IronXLはスタンドアロンの.NETライブラリであり、どのようなシステム上でもプログラムによってExcelファイルの読み込み、書き込み、作成が可能であるため、サーバーアプリケーションやExcelがインストールされていない環境に最適です。

Excelファイルにデータを書き込んだ後、変更を保存するにはどうすればよいですか?

セルにデータを書き込んだら、IronXLのSaveAs()メソッドで新しいファイルを作成するか、Save()で既存のファイルを上書きして変更を保存します。このライブラリは、セルの更新、書式設定、数式がすべて指定したExcelファイル形式で適切に保存されるようにします。

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

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

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

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