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 for .NET機能は時に複雑になることもありますが、IronXLライブラリを使用すれば、この作業は簡単になり、あらゆる形式のExcelスプレッドシートを扱うことが可能になります。 最小限のコードで特定のセルに直接アクセスし、カスタム値を割り当てることができます。 新しいスプレッドシートの作成でも、既存のExcelファイルの編集でも、IronXLはExcelの自動化に関するあらゆるニーズに対応する直感的な方法を提供します。

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

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

  1. IronXL をNuGetパッケージマネージャでインストール

    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");
' Load Excel file in the project
Dim workBook As 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");
' Open Excel WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
$vbLabelText   $csharpLabel

Excel ワークシートは workSheet using IronXL で開かれ、Excel ファイルに任意の種類のデータを書き込むことができます。リンク先の例を参照し、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";
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");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Access A1 cell and write the value
Private workSheet("A1").Value = "new value"

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

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

注:上記の例のように、ワークシートに新しい値を入力した後は、Excelファイルを保存することを忘れないでください。

なぜ正確な値を強制的に割り当てる必要があるのでしょうか?

Value プロパティを設定すると、IronXL はそのプロパティを対応する値の型に変換しようとします。 変換を行わずに、セルに正確な値を強制的に割り当てたい場合、この評価は望ましくないことがあります。 これを行うには、値を文字列として割り当ててください。 IronXLでは、同じ効果を得るために、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";
' 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";
' Assign a static value to a range of cells
worksheet("B2:C5").Value = "static value"
$vbLabelText   $csharpLabel

このようにして、データが書き込まれるセルの範囲 From から To を指定します。 この範囲内のすべてのセルに new value が記述されます。 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");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Specify range row wise and write new value
Private workSheet("B2:B9").Value = "new value"

' Specify range column wise and write new value
Private workSheet("C3:C7").Value = "new value"

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

このコードは、B列の new value から B2 までを B9 に、そして C3 から C7をC列に書き込みます。 Excelのセルには静的な値が使用されています。


範囲内の動的値をどのように記述すればよいですか?

以下に示すように、範囲に動的な値を追加することも可能です。 これは、データベースからデータを取得する必要がある場合や、レポートを生成する際に特に役立ちます。 より複雑なデータ操作を行う場合は、DataSet としてのインポートおよびエクスポートも検討してください。

: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");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Specify range in which we want to write the values
For i As Integer = 2 To 7
	' 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
Next i

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

上記のコードは、Excelファイル sample.xlsx2 から 7 までの列に、動的な値を書き込みます。 コードの結果は sample.xlsx でご確認いただけます。

B2:B7 および D2:D7 の 2 つのハイライトされた範囲に、Value2 から Value7 までの値が入力されたスプレッドシート

Excelのセル値を置き換えるにはどうすればよいですか?

Using IronXL, you can easily write a new value to replace the old value, using the Replace() 関数 as follows:

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

上記の関数は、Excel ワークシート全体において old value を上書きして new value を書き込みます。

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

特定の行のみに新しい値を入力したい場合は、次のように操作してください:

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

これにより、指定された行インデックスのみにおいて、old valueの上に書き換えられます。

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

同様に、特定の列内の old value の上に new value を記述したい場合は、次のように行います:

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

上記のコードは、指定された列インデックスにおいてのみ、new valueに置き換えます。 ワークシートの残りの部分は変更ありません。

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

IronXLでは、old 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");
workSheet("From Cell Address : To Cell Address").Replace("old value", "new value")
$vbLabelText   $csharpLabel

これにより、指定された範囲内のセルにおいてのみ、old valueの上に書き込まれます。

上記のすべての関数を使用して、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");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As 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 アプリケーションの作成方法などに関する詳細については、Excel ファイルの開く・書き込み方法に関する C# チュートリアルをご覧ください。 さまざまなファイル形式を扱う場合は、スプレッドシートファイル形式の変換に関するガイドも参考になるかもしれません。


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

APIリファレンスを読む

IronXLライブラリで利用可能なすべての関数、機能、名前空間、クラス、列挙型のリストを含む、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はスタンドアロン for .NETライブラリであり、どのようなシステム上でもプログラムによってExcelファイルの読み込み、書き込み、作成が可能であるため、サーバーアプリケーションやExcelがインストールされていない環境に最適です。

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

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

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

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

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

準備はできましたか?
Nuget ダウンロード 2,052,917 | バージョン: 2026.6 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronXL.Excel
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。