IRONSOFTWAREHOME

C#でExcelの行と列のサイズを自動変更する方法

Curtis Chau
Curtis Chau
Updated: 2026年4月22日

IronXLは、C#でAutoSizeColumn()のようなメソッドを用いて、自動的に行と列のサイズをセルの内容に基づいて調整し、手動のスプレッドシート書式設定を無くし、結合セルの計算をサポートします。 この機能は、セルの寸法をその内容に動的に適合させることで、Excelのワークフローを自動化し、手作業による介入なしにプロフェッショナルなスプレッドシートを実現します。

クイックスタート: 単一のコールで列または行の自動リサイズ

IronXLを使用すれば、任意の行や列を1行でサイズ変更できます。WorkSheet.AutoSizeRow(int, bool)を使用して、セルの内容に基づいてサイズを調整します(結合セルは任意)。 このアプローチは、Excelのインストールを必要とせず、すべて for .NETプラットフォームで機能します。

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

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

    // One-line: auto-resize column A including merged cells
    workSheet.AutoSizeColumn(0, true);
    // Or auto-resize row 5 quickly
    workSheet.AutoSizeRow(4, true);
    C#
  3. 3実際の環境でテストするためにデプロイする

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

行のサイズを自動変更するにはどうすればよいですか?

AutoSizeRowメソッドは、指定された行の高さを内容に基づいて自動的にリサイズします。 この機能により、セル内のすべてのテキストが表示されるため、文字切れを防ぎ、読みやすさが向上します。 ExcelファイルをInteropなしで扱う場合、IronXLはフォントサイズ、セルの内容、書式属性に基づいて最適な行の高さを計算します。

using IronXL;

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

// Apply auto resize on row 2
workSheet.AutoSizeRow(1);

workBook.SaveAs("autoResize.xlsx");

自動リサイズアルゴリズムは、フォントメトリクス、セルパディング、テキストラッピング設定を考慮し、最適な高さを決定します。 従来のExcelオートメーションから移行する開発者にとって、Excelのインストールを必要としない効率的な代替手段を提供します。

結果はどのようになりますか?

データグリッドのビフォーアフター比較。自動リサイズされた行が拡張され、従業員の全情報が表示されます。

列のサイズを自動変更するにはどうすればよいですか?

内容の長さに基づいて列の幅をリサイズするにはAutoSizeColumnメソッドを使用します。 この方法では、各列で最も長いコンテンツを分析し、それに応じて幅を調整することで、横スクロールなしですべてのデータが表示されるようにします。 アルゴリズムは、テキストの長さ、数値の書式設定、日付の表示、および必要な幅に影響するその他のセルの書式設定を考慮します。

using IronXL;

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

// Apply auto resize to rows individually
workSheet.AutoSizeRow(0, true);
workSheet.AutoSizeRow(1, true);
workSheet.AutoSizeRow(2, true);

workBook.SaveAs("advanceAutoResizeRow.xlsx");

財務データやレポートを扱う場合、適切なサイズの列は読みやすさのために非常に重要です。 IronXLの自動リサイズ機能は、セルの境界線と整列のような機能と統合され、プロフェッショナルなスプレッドシートを作成します。

結果はどのようになりますか?

Excelスプレッドシートの自動リサイズ前と自動リサイズ後:テキストが切り捨てられた狭い列と、コンテンツがすべて表示される適切なサイズの列の比較
ヒント: 行および列のすべてのインデックス位置はゼロベースインデックスを使用します。

マージされたセルによる高度な行のサイズ変更はどのように処理しますか?

AutoSizeRowメソッドの別のオーバーロードは、第2のブールパラメータを取ります。 このパラメータを使用すると、サイズ変更時にマージされたセルを考慮することができます。 Excelでマージされたセルを扱う場合、コンテンツが複数のセルにまたがると、自動リサイズの動作が複雑になります。

using IronXL;

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

// Apply auto resize to rows individually
workSheet.AutoSizeRow(0, true);
workSheet.AutoSizeRow(1, true);
workSheet.AutoSizeRow(2, true);

workBook.SaveAs("advanceAutoResizeRow.xlsx");

マージされたセル計算はどのように機能しますか?

コンテンツの高さが192ピクセルで、3行にまたがるマージ領域にある場合、これらの行のいずれかに自動リサイズを適用すると、アルゴリズムは192pxを3で割って、各行の64pxにします。 AutoSizeRowメソッドは、各行ごとに個別に適用する必要があります。 この配信では、マージされたコンテンツがマージ領域内のすべての行で適切に表示されるようにします。

高さを99ピクセルから33ピクセルに最適化したExcelの行の自動リサイズ機能のビフォーアフター比較

値がfalseに設定されている場合はどうなりますか?

falseに設定すると、AutoSizeRowメソッドは、最も内容の多いセルに基づいて行の高さを調整します。 Microsoft Excelでは、セルを結合すると左上の値のみが保持され、その他のものはクリアされます。しかしIronXLのMerge操作は、結合領域内の他のセルの値を保持し、複雑なスプレッドシートでより柔軟性を提供します。

using IronXL;

workSheet.Merge("A1:A3");

workSheet.AutoSizeRow(0, false);
workSheet.AutoSizeRow(1, false);
workSheet.AutoSizeRow(2, false);
Excelの行の自動サイズ変更機能により、スプレッドシートのセル内のテキストの視認性が向上したことを示すビフォーアフターの比較

デモのために、私は、目立つ上下のパディングを追加しないように、Excelの行の高さ自動調整機能を使用する代わりに、手動で行の高さを調整しました。

useMergedCellsパラメータをfalseに設定すると、結合セルの高さは考慮されません。 各行の高さは、その内容のみに基づいて計算されます。 このアプローチは、マージされたリージョンに関係なく、一貫した行の高さを維持します。

マージされたセルで高度な列のサイズ変更を扱うにはどうすればよいですか?

AutoSizeRowに似て、結合セルの幅を考慮して列をリサイズすることができます。 trueに設定すると、結合セルが最も長い内容を持っている場合、リサイズされた列幅は結合領域内の列数で結合セルの幅を割ったものと等しくなります。 この機能は、複雑なレイアウトのスプレッドシートを作成するときに役立ちます。

using IronXL;

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

// Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, true);
workSheet.AutoSizeColumn(1, true);
workSheet.AutoSizeColumn(2, true);

workBook.SaveAs("advanceAutoResizeColumn.xlsx");

マージされたセル幅の計算はどのように機能しますか?

コンテンツが2カラムにまたがるマージ領域で117ピクセルの幅を持つ場合、任意のカラムにオートリサイズを適用すると、各カラムは59ピクセルになります。 AutoSizeColumnメソッドは、各列に個別に適用する必要があります。 この比例配分により、マージされたコンテンツがマージ領域のすべての列で適切に表示されます。

Excelの列の自動リサイズにより、B列の幅が117ピクセルから59ピクセルに縮小されたことを示すビフォーアフター比較

値がfalseに設定されている場合はどうなりますか?

AutoSizeColumnメソッドは最も長い内容を持つセルに基づいて幅を調整します。 Microsoft Excelでは、セルを結合すると左上の値のみが保持され、その他のものは消去されます。しかし、IronXLのMergeメソッドは、結合領域内の他のセルの値を保持し、開発者により多くのデータ制御を提供します。

workSheet.Merge("A1:B1");

workSheet.AutoSizeColumn(0, false);
workSheet.AutoSizeColumn(1, false);
テキストデータ用に最適化された列幅の調整を示す、Excelの列の自動サイズ変更前と変更後

マージされたセルの幅は優先されず、各列の幅はコンテンツの幅に基づいて計算されたため、幅の変更はありませんでした。

ExcelとIronXL Auto Resizeの違いは何ですか?

Excelネイティブのオートフィット機能とIronXLの実装の違いを理解することで、開発者がスプレッドシート操作を自動化する際に十分な情報を得た上で決定することができます。 これらの違いは、プラットフォーム間の一貫性を維持する場合や、セルの寸法を正確に制御する必要がある場合に問題となります。

行はどのように違うのですか?

Excelの行の高さの自動調整機能は、セルに目立つ上下のパディングを適用します。 IronXLは行の高さを正確に制御し、パディングを追加することなくコンテンツに必要なスペースを正確に計算します。 この違いは、高密度のデータを扱う場合や、正確な印刷レイアウトが要求される場合に大きな意味を持ちます。

ExcelとIronXL.Excelの自動リサイズの比較で、同一のテストデータで異なる行の取り扱いを示しています。

列はどのように違うのですか?

Excelの列幅自動調整機能は、あまり目立たないが、セルに左右のパディングを適用する。 IronXLは、スペースの最適化が重要な自動レポートシステムで作業する際に有益な、正確なコンテンツ幅に焦点を当てています。

ExcelとIronXL.Excelのカラムの自動リサイズ比較。

手動で縦横のサイズを変更するにはどうすればよいですか?

AutoSizeColumnメソッドを使って自動的に寸法を計算し調整するほか、特定の要件を満たすために手動で列と行の幅と高さを調整することができます。 標準化されたレポート形式を実装する場合や、特定の寸法を必要とするテンプレートを使用する場合は、手動によるサイジングが便利です。

  • 高さを調整: Heightプロパティを設定します。
  • 幅を調整: Widthプロパティを設定します。
using IronXL;

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

RangeRow row = workSheet.GetRow(0);
row.Height = 10; // Set height

RangeColumn col = workSheet.GetColumn(0);
col.Width = 10; // Set width

workBook.SaveAs("manualHeightAndWidth.xlsx");

Excelでは高さと幅にどのような単位を使用しますか?

Excelでは、高さと幅の測定単位が異なります。 高さは1/20ポイントで測定され、幅は指定されたNormalスタイルのフォントを使用してセルに収まる"0"の数に基づいています。 IronXLのAPIを使用する場合、これらの変換を理解することは正確なレイアウトに不可欠です。

単位変換を簡単にするため、IronXL.Excelの値をMicrosoft Excelの表示ピクセルとして解釈してください。 ピクセルとは、画面の解像度に関係なく、1インチの96分の1を指します。 Excelは解像度に依存せず、物理的なピクセルに依存しません。

IronXLとExcelの縦横サイズの関係:

  • 高さ: 1 pixelです。
  • 幅: RangeColumn.Width = 23.2551ピクセルに相当します。

正確なスプレッドシートのレイアウト制御を必要とする開発者にとって、これらの変換係数は正確な寸法計算を可能にします。 他の書式設定機能と組み合わせることで、Excelドキュメントの外観を完全にコントロールすることができます。 これらの機能を使用するアプリケーションを本番環境でデプロイする際には、ライセンス キーを適用することを忘れないでください。

よくある質問

C#でセルの内容に基づいてExcelの行のサイズを自動的に変更するにはどうすればよいですか?

IronXLはセルの内容に基づいて行の高さを自動的に調整するAutoSizeRowメソッドを提供しています。workSheet.AutoSizeRow(rowIndex,includeMergedCells)を呼び出すだけです。rowIndexはゼロベースの行番号です。このメソッドは、フォント・サイズ、セルの内容、および書式属性に基づいて最適な高さを計算し、すべてのテキストが切り捨てられることなく表示されるようにします。

Excelスプレッドシートの列サイズをプログラムで自動変更できますか?

はい、IronXLはAutoSizeColumnメソッドで自動的に列幅を調整します。workSheet.AutoSizeColumn(columnIndex,includeMergedCells)を使用して、最も長い内容に基づいて列のサイズを変更します。このアルゴリズムは、テキストの長さ、数値書式、日付表示、およびその他のセル書式を考慮して、最適な幅を決定します。

自動リサイズはマージされたセルでも機能しますか?

IronXLはAutoSizeRowメソッドとAutoSizeColumnメソッドのbooleanパラメーターによってマージされたセルの自動リサイズをサポートしています。適切な寸法を決定する際にマージされたセルの計算を含めるには、2番目のパラメータをtrueに設定します(例えば、workSheet.AutoSizeColumn(0, true))。

行や列の自動リサイズにはどのような要素が考慮されますか?

IronXLのオートリサイズアルゴリズムは、フォントメトリクス、セルパディング、テキストラッピング設定、数値書式、日付表示、セルボーダーを含む複数の要素を考慮します。この包括的なアプローチにより、手動で操作することなく、すべてのコンテンツに対応する適切なサイズのセルを持つプロフェッショナルな見栄えのスプレッドシートが保証されます。

自動リサイズ機能を使用するには、Microsoft Excelがインストールされている必要がありますか?

IronXLはExcelのインストールを必要とせず、単独で動作します。ライブラリは内部ですべての計算を行うため、Excelをインストールできないサーバー環境や導入シナリオに最適です。このアプローチはすべて for .NETプラットフォームで機能します。

複数の行や列を一度に自動リサイズできますか?

IronXLのAutoSizeRowメソッドとAutoSizeColumnメソッドは個々の行/列に対して機能しますが、簡単に複数の項目をループしてリサイズすることができます。これにより、ワークシート全体または特定の範囲のバッチ処理が可能になり、Excelのワークフローを効率的に自動化できます。

What are the advantages of using IronXL for Excel automation?

IronXL streamlines Excel automation by providing methods like AutoSizeRow() and AutoSizeColumn(), enabling dynamic document formatting without manual efforts or the need to have Excel installed.

How does IronXL's handling of merged cells in resizing differ from Excel?

In Excel, merged cells typically only retain the upper-left cell's value, while IronXL's merge operation keeps values intact across the entire range, providing more flexibility when resizing merged regions.

Are there any specific considerations for developers migrating from Excel Interop to IronXL for resizing tasks?

Developers transitioning from Excel Interop to IronXL benefit from a simpler, installation-free setup and exact sizing controls through methods like AutoSizeRow() and AutoSizeColumn(), which offer reliable results across different .NET platforms.

How does IronXL measure height and width units in Excel?

IronXL measures height in 1/20 of a point, while width is determined by the number of '0's that fit in a cell with the specified font. These measurements correlate with display pixels for precise spreadsheet layout control.

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

Nuget Downloads 2,237,574バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. 参照選択し、"IronXL"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

  1. IronXLを~/Libsなどの場所にダウンロードし、ソリューションディレクトリに解凍します
  2. Visual Studioのソリューションエクスプローラ内で参照を右クリックし、を選択「IronXL.dll」参照選択

ライセンス$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。