C#開発者としてExcelで行と列を追加する方法

C#で新しい行や列を挿入する方法

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

IronXLライブラリを使用すると、Office Interopを使用せずに、C#コード内で1行または複数の行や列を簡単に挿入できます。 InsertRows および InsertColumns メソッドを任意のインデックス位置で使用することで、プログラムから Excel スプレッドシートを動的に変更できます。

クイックスタート: IronXLで簡単に行または列を追加

IronXLは1回の流暢なAPIコールで、任意の位置に行や列を挿入することができます。 最小限のコードでExcelシートを効率的に修正します。

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

    PM > Install-Package IronXL.Excel
  2. このコード スニペットをコピーして実行します。

    new WorkBook("example.xlsx").DefaultWorkSheet.InsertColumns(3, 2);
  3. 実際の環境でテストするためにデプロイする

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

    arrow pointer


C#を使用してExcelに新しい行を挿入するにはどうすればよいですか?

スプレッドシートに新しい行を追加するには、InsertRow および InsertRows メソッドを使用してください。 これらのメソッドは、特定のインデックス位置に行を挿入することを可能にします。 IronXl.ExcelAPIリファレンスは、利用可能なすべての行操作メソッドに関する包括的なドキュメントを提供します。

ご注意フィルタ行に直接行を挿入することは、Excelファイルで競合を引き起こし、スプレッドシートを正しく表示するためにExcelの修復を実行する必要があります。

単一の行を追加する構文は何ですか?

:path=/static-assets/excel/content-code-examples/how-to/add-rows-columns-rows.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Add a row before row 2
workSheet.InsertRow(1);

// Insert multiple rows after row 3
workSheet.InsertRows(3, 3);

workBook.SaveAs("addRow.xlsx");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Add a row before row 2
workSheet.InsertRow(1)

' Insert multiple rows after row 3
workSheet.InsertRows(3, 3)

workBook.SaveAs("addRow.xlsx")
$vbLabelText   $csharpLabel

InsertRow メソッドは、新しい行を挿入するゼロベースのインデックスを示す単一のパラメータを受け取ります。 その位置以下の既存の行はすべて自動的に下にシフトします。 データ操作を含むより複雑なシナリオでは、行挿入と数式や計算を組み合わせることができます。

複数行の挿入はどのように機能しますか?

従業員データテーブルを示すスプレッドシートのビフォーアフタービュー。

InsertRowsを使用する際は、開始インデックスと挿入する行数の両方を指定してください。 この方法は、データ・テンプレートを準備したり、データセットを動的に拡張したりする際に非常に有効です。 この方法では、既存のすべての書式と数式が維持され、セル参照が自動的に調整されます。

行を追加するときによくある落とし穴とは

プログラムで行を挿入する場合、いくつかの課題が発生する可能性があります:

  1. インデックスの混乱: IronXLはゼロベースのインデックスを使用するため、Excelの行1はコードではインデックス0に対応します。
  2. テーブルの境界: 名前付きテーブル内に行を挿入するには特別な考慮が必要です - 名前付きテーブルに関するガイドを参照してください。
  3. パフォーマンスへの影響: 多くの行を挿入する際は、パフォーマンスを向上させるためにバッチ操作を検討してください。当社のパフォーマンスのマイルストーンに詳細があります。 4.数式の更新:数式内のセル参照は自動的に更新されますが、絶対参照は固定されたままです。

なぜインデックスの位置が重要なのでしょうか

インデックスの位置は、新しい行がどこに表示されるか、既存のデータがどのように移動するかを決定します。 不正確なインデックスを使用すると、データが上書きされたり、スプレッドシートにギャップが生じたりする可能性があります。 複雑なデータ操作のシナリオについては、範囲の選択のガイドを確認して、位置決めについて理解を深めてください。

InsertRow``InsertRows


Excelシートから行を削除するにはどうすればよいですか?

スプレッドシートから行を削除するには、GetRow メソッドを使用して目的の行を選択し、選択した行に対して RemoveRow メソッドを実行します。 この2段階のプロセスにより、削除されるデータの正確な制御が保証されます。

ご注意テーブルのヘッダ行を削除することはできません。

基本的な削除構文とは何ですか?

:path=/static-assets/excel/content-code-examples/how-to/add-rows-columns-remove-row.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove row 5
workSheet.GetRow(4).RemoveRow();

workBook.SaveAs("removeRow.xlsx");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Remove row 5
workSheet.GetRow(4).RemoveRow()

workBook.SaveAs("removeRow.xlsx")
$vbLabelText   $csharpLabel

プログラムで行を削除するのはいつですか?

行削除は、いくつかのシナリオで不可欠です:

  • データのクリーニング: インポートしたデータセットから空の行や無効な行を削除します。
  • 動的フィルタリング: 特定の条件を満たさない行を削除します。
  • テンプレート準備: レポートを生成する前にサンプルデータをクリアします。
  • パフォーマンスの最適化: 必要のない行を削除してファイルサイズを縮小します。

より高度なデータ操作については、包括的な編集技術をカバーする弊社の[Excelファイル編集チュートリアル](https://ironsoftware.com/csharp excels how-to/csharp-edit-excel-file/)を参照してください。

削除された行より下のデータはどうなりますか?

従業員データテーブルから従業員の行E02035 Liliana Changを削除したスプレッドシートのビフォーアフター比較

行を削除すると、その下のすべての行が自動的にシフトアップしてギャップを埋めます。これにより、手動で操作することなく、データの連続性が維持されます。 削除された行を参照する数式はエラーを返す可能性があるため、依存する計算の更新を検討してください。 数式の更新については、数式の編集のガイドを参照してください。


Excelスプレッドシートに新しい列を追加するにはどうすればよいですか?

テーブルの特定のインデックス位置の前に新しい列を追加するには、InsertColumn および InsertColumns メソッドを使用します。 これらのメソッドは、行挿入機能を反映していますが、横軸で動作します。

<

ご注意テーブル範囲内に新しい列を挿入すると、Excelファイルで競合が発生し、スプレッドシートを正しく表示するためにExcelの修復が必要になります。 To remove all empty rows and columns on the range borders, use the Trim() method. 現在、列を削除することはできません。)]>

System.InvalidOperationExceptionが発生し、"シーケンスに要素が含まれていません"というメッセージが表示されます。

単一カラムと複数カラムを追加するコードは何ですか?

:path=/static-assets/excel/content-code-examples/how-to/add-rows-columns-columns.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Add a column before column A
workSheet.InsertColumn(0);

// Insert multiple columns after column B
workSheet.InsertColumns(2, 2);

workBook.SaveAs("addColumn.xlsx");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Add a column before column A
workSheet.InsertColumn(0)

' Insert multiple columns after column B
workSheet.InsertColumns(2, 2)

workBook.SaveAs("addColumn.xlsx")
$vbLabelText   $csharpLabel

列インデックスはどのように機能しますか?

列のインデックス付けは、行と同じゼロベースのパターンに従います:

  • 列A = インデックス0
  • 列B = インデックス1
  • 列C = インデックス2

この一貫性により、スプレッドシートの両側面での作業が簡素化されます。 セル・データ・フォーマットと組み合わせると、プログラムで適切に構造化されたデータ・テーブルを作成できます。

列操作の制限は何ですか?

従業員ID列とフルネーム列の間に新しい空の列を挿入したExcelのビフォーアフター比較

現在の制限事項

  • 直接的な列の削除はできません: 行とは異なり、列は直接削除することはできません(ワークアラウンド:必要なデータを新しいシートにコピーします)
  • テーブル制約: 名前付きテーブル内の列には特別な処理が必要です。
  • 最大列数の制限: Excelは最大で16,384列(XFD)をサポートします。
  • パフォーマンスの考慮: 大量の列挿入はファイルサイズに大きく影響する可能性があります。

これらの制限を回避するために、troubleshooting guide on file size limits が最適化戦略を提供しています。

[{t:(行および列のすべてのインデックス位置はゼロベースインデックスを使用します。

行と列の操作のベストプラクティス

Excelの構造をプログラムで変更する場合:

  1. 常にインデックスを検証: 操作の前にターゲットインデックスが存在することを確認してください。
  2. バッチ操作: 複数の挿入をグループ化してパフォーマンスを向上させます。
  3. フォーマットの保持: フォーマットされた行/列を挿入する際にスタイルコピーを使用します。
  4. 境界ケースをテスト: シートの境界(行1、列A)での挙動を確認してください。
  5. 例外の処理: 無効な操作の適切なエラーハンドリングを実装してください。

包括的な Excel 自動化ワークフローについては、Excel ファイルの作成に関するチュートリアルを参照してください。

よくある質問

C#を使用してExcelに新しい行を挿入するにはどうすればよいですか?

IronXLのInsertRowメソッドとInsertRowsメソッドを使用して、Excelスプレッドシートに新しい行を追加します。InsertRowメソッドは指定したゼロベースのインデックス位置に単一の行を追加し、InsertRowsは一度に複数の行を挿入することができます。IronXLは既存の行を自動的に下にずらし、書式と数式を維持します。

プログラムでExcelファイルに列を追加する構文は何ですか?

IronXLはExcelファイルに列を追加するためのInsertColumnとInsertColumnsメソッドを提供します。行の挿入と同様に、列を挿入するインデックス位置を指定します。例えば、InsertColumns(3, 2)はインデックス位置3から始まる2つの列を挿入します。

Microsoft Officeがインストールされていなくても、行や列を挿入できますか?

IronXLはMicrosoft OfficeやOffice Interopを必要とせずにExcelファイルに行や列を挿入することができます。IronXLはスタンドアロンのC#ライブラリで、Excelファイル形式で直接動作するため、サーバー環境やOfficeがインストールされていないシステムに最適です。

新しい行や列を挿入すると、既存のデータはどうなりますか?

IronXLの挿入メソッドを使用すると、新しい行や列に合わせて既存のデータが自動的にシフトします。行を挿入する場合は行が下にシフトし、列を挿入する場合は列が右にシフトします。すべての書式設定、数式、セル参照は自動的に調整されます。

新しく挿入された行や列にデータを追加するにはどうすればよいですか?

IronXLで行や列を挿入した後、標準的なセル代入メソッドを使って代入することができます。このライブラリは、座標によってセルにアクセスするための流暢なAPIを提供し、新しく作成されたスペースに値、数式、書式を設定することができます。

プログラムで行を追加するときによくある落とし穴は何ですか?

よくある課題としては、ゼロベースのインデックスの混乱(Excelの行1=IronXLではインデックス0)、フィルター行に挿入する際の競合、大規模なバッチ操作におけるパフォーマンスの考慮などがあります。IronXLのドキュメントでは、名前付きテーブルの取り扱いや一括挿入のパフォーマンスの最適化に関するガイダンスを提供しています。

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

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
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。