C#でExcelの行と列のサイズを自動変更する方法 Copy for LLMsCopy for LLMs Copy page as Markdown for LLMs
# C#でExcelの行と列のサイズを自動変更する方法
IronXLは、C#で`AutoSizeColumn()`のようなメソッドを用いて、自動的に行と列のサイズをセルの内容に基づいて調整し、手動のスプレッドシート書式設定を無くし、結合セルの計算をサポートします。 この機能は、セルの寸法をその内容に動的に適合させることで、Excelのワークフローを自動化し、手作業による介入なしにプロフェッショナルなスプレッドシートを実現します。
*as-heading:2(クイックスタート: 単一のコールで列または行の自動リサイズ)*
IronXLを使用すれば、任意の行や列を1行でサイズ変更できます。`WorkSheet.AutoSizeRow(int, bool)`を使用して、セルの内容に基づいてサイズを調整します(結合セルは任意)。 このアプローチは、Excelのインストールを必要とせず、すべて for .NETプラットフォームで機能します。
```cs
:title=Auto-size Rows/Columns Instantly with IronXL
// One-line: auto-resize column A including merged cells
workSheet.AutoSizeColumn(0, true);
// Or auto-resize row 5 quickly
workSheet.AutoSizeRow(4, true);
```
<div class="hsg-featured-snippet">
<h3>最小限のワークフロー(5ステップ)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronXL.Excel/">Excel の行と列のサイズを自動調整する C# ライブラリをダウンロードする</a></li>
<li>目的のExcelファイルをインポート</li>
<li><code>AutoSizeRow</code>メソッドを使用して行のサイズを自動的に変更します</li>
<li><code>AutoSizeColumn</code>メソッドを使用して、コンテンツの幅に基づいて列のサイズを変更します。</li>
<li>高さと幅の値を要件に合わせて設定</li>
</ol>
</div>
## 行のサイズを自動変更するにはどうすればよいですか?
`AutoSizeRow`メソッドは、指定された行の高さを内容に基づいて自動的にリサイズします。 この機能により、セル内のすべてのテキストが表示されるため、文字切れを防ぎ、読みやすさが向上します。 <a href="https://ironsoftware.com/csharp/excel/examples/read-excel/">ExcelファイルをInteropなしで扱う場合</a>、IronXLはフォントサイズ、セルの内容、書式属性に基づいて最適な行の高さを計算します。
```csharp
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-rows.cs
```
自動リサイズアルゴリズムは、フォントメトリクス、セルパディング、テキストラッピング設定を考慮し、最適な高さを決定します。 従来のExcelオートメーションから移行する開発者にとって、Excelのインストールを必要としない効率的な代替手段を提供します。
### 結果はどのようになりますか?
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/excel/how-to/autosize-rows-columns/autosize-rows-columns-rows.png" alt="データグリッドのビフォーアフター比較。自動リサイズされた行が拡張され、従業員の全情報が表示されます。" class="img-responsive add-shadow" />
</div>
</div>
## 列のサイズを自動変更するにはどうすればよいですか?
内容の長さに基づいて列の幅をリサイズするには`AutoSizeColumn`メソッドを使用します。 この方法では、各列で最も長いコンテンツを分析し、それに応じて幅を調整することで、横スクロールなしですべてのデータが表示されるようにします。 アルゴリズムは、テキストの長さ、数値の書式設定、日付の表示、および必要な幅に影響するその他のセルの書式設定を考慮します。
```csharp
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
```
財務データやレポートを扱う場合、適切なサイズの列は読みやすさのために非常に重要です。 IronXLの自動リサイズ機能は、<a href="https://ironsoftware.com/csharp/excel/how-to/border-alignment/">セルの境界線と整列</a>のような機能と統合され、プロフェッショナルなスプレッドシートを作成します。
### 結果はどのようになりますか?
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/excel/how-to/autosize-rows-columns/autosize-rows-columns-columns.png" alt="Excelスプレッドシートの自動リサイズ前と自動リサイズ後:テキストが切り捨てられた狭い列と、コンテンツがすべて表示される適切なサイズの列の比較" class="img-responsive add-shadow" />
</div>
</div>
[[t:(行および列のすべてのインデックス位置はゼロベースインデックスを使用します。)]]
<hr />
## マージされたセルによる高度な行のサイズ変更はどのように処理しますか?
`AutoSizeRow`メソッドの別のオーバーロードは、第2のブールパラメータを取ります。 このパラメータを使用すると、サイズ変更時にマージされたセルを考慮することができます。 <a href="https://ironsoftware.com/csharp/excel/how-to/csharp-excel-merge-cells/">Excelでマージされたセル</a>を扱う場合、コンテンツが複数のセルにまたがると、自動リサイズの動作が複雑になります。
```csharp
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
```
### マージされたセル計算はどのように機能しますか?
コンテンツの高さが**192ピクセル**で、**3行**にまたがるマージ領域にある場合、これらの行のいずれかに自動リサイズを適用すると、アルゴリズムは192pxを3で割って、各行の64pxにします。 `AutoSizeRow`メソッドは、各行ごとに個別に適用する必要があります。 この配信では、マージされたコンテンツがマージ領域内のすべての行で適切に表示されるようにします。
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/excel/how-to/autosize-rows-columns/autosize-rows-columns-advance-rows-true.png" alt="高さを99ピクセルから33ピクセルに最適化したExcelの行の自動リサイズ機能のビフォーアフター比較" class="img-responsive add-shadow" />
</div>
</div>
### 値がfalseに設定されている場合はどうなりますか?
falseに設定すると、`AutoSizeRow`メソッドは、最も内容の多いセルに基づいて行の高さを調整します。 Microsoft Excelでは、セルを結合すると左上の値のみが保持され、その他のものはクリアされます。しかしIronXLの<a href="https://ironsoftware.com/csharp/excel/how-to/csharp-excel-merge-cells/">`Merge`</a>操作は、結合領域内の他のセルの値を保持し、複雑なスプレッドシートでより柔軟性を提供します。
```csharp
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows-false.cs
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/excel/how-to/autosize-rows-columns/autosize-rows-columns-advance-rows-false.png" alt="Excelの行の自動サイズ変更機能により、スプレッドシートのセル内のテキストの視認性が向上したことを示すビフォーアフターの比較" class="img-responsive add-shadow" />
</div>
</div>
デモのために、私は、目立つ上下のパディングを追加しないように、Excelの<a href="#anchor-rows">行の高さ自動調整機能</a>を使用する代わりに、手動で行の高さを調整しました。
`useMergedCells`パラメータをfalseに設定すると、結合セルの高さは考慮されません。 各行の高さは、その内容のみに基づいて計算されます。 このアプローチは、マージされたリージョンに関係なく、一貫した行の高さを維持します。
## マージされたセルで高度な列のサイズ変更を扱うにはどうすればよいですか?
`AutoSizeRow`に似て、結合セルの幅を考慮して列をリサイズすることができます。 `true`に設定すると、結合セルが最も長い内容を持っている場合、リサイズされた列幅は結合領域内の列数で結合セルの幅を割ったものと等しくなります。 この機能は、<a href="https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/">複雑なレイアウトのスプレッドシートを作成する</a>ときに役立ちます。
```csharp
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns.cs
```
### マージされたセル幅の計算はどのように機能しますか?
コンテンツが**2カラム**にまたがるマージ領域で**117ピクセル**の幅を持つ場合、任意のカラムにオートリサイズを適用すると、各カラムは59ピクセルになります。 `AutoSizeColumn`メソッドは、各列に個別に適用する必要があります。 この比例配分により、マージされたコンテンツがマージ領域のすべての列で適切に表示されます。
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/excel/how-to/autosize-rows-columns/autosize-rows-columns-advance-columns-true.png" alt="Excelの列の自動リサイズにより、B列の幅が117ピクセルから59ピクセルに縮小されたことを示すビフォーアフター比較" class="img-responsive add-shadow" />
</div>
</div>
### 値がfalseに設定されている場合はどうなりますか?
`AutoSizeColumn`メソッドは最も長い内容を持つセルに基づいて幅を調整します。 Microsoft Excelでは、セルを結合すると左上の値のみが保持され、その他のものは消去されます。しかし、IronXLの<a href="https://ironsoftware.com/csharp/excel/how-to/csharp-excel-merge-cells/">`Merge`</a>メソッドは、結合領域内の他のセルの値を保持し、開発者により多くのデータ制御を提供します。
```csharp
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns-false.cs
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/excel/how-to/autosize-rows-columns/autosize-rows-columns-advance-columns-false.png" alt="テキストデータ用に最適化された列幅の調整を示す、Excelの列の自動サイズ変更前と変更後" class="img-responsive add-shadow" />
</div>
</div>
マージされたセルの幅は優先されず、各列の幅はコンテンツの幅に基づいて計算されたため、幅の変更はありませんでした。
## ExcelとIronXL Auto Resizeの違いは何ですか?
Excelネイティブのオートフィット機能とIronXLの実装の違いを理解することで、開発者がスプレッドシート操作を自動化する際に十分な情報を得た上で決定することができます。 これらの違いは、プラットフォーム間の一貫性を維持する場合や、セルの寸法を正確に制御する必要がある場合に問題となります。
### 行はどのように違うのですか?
Excelの行の高さの自動調整機能は、セルに目立つ上下のパディングを適用します。 IronXLは行の高さを正確に制御し、パディングを追加することなくコンテンツに必要なスペースを正確に計算します。 この違いは、高密度のデータを扱う場合や、正確な印刷レイアウトが要求される場合に大きな意味を持ちます。
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/excel/how-to/autosize-rows-columns/autosize-rows-columns-comparison-rows.png" alt="ExcelとIronXL.Excelの自動リサイズの比較で、同一のテストデータで異なる行の取り扱いを示しています。" class="img-responsive add-shadow" />
</div>
</div>
### 列はどのように違うのですか?
Excelの列幅自動調整機能は、あまり目立たないが、セルに左右のパディングを適用する。 IronXLは、スペースの最適化が重要な<a href="https://ironsoftware.com/csharp/excel/examples/auto-resize-rows-and-columns/">自動レポートシステム</a>で作業する際に有益な、正確なコンテンツ幅に焦点を当てています。
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/excel/how-to/autosize-rows-columns/autosize-rows-columns-comparison-columns.png" alt="ExcelとIronXL.Excelのカラムの自動リサイズ比較。" class="img-responsive add-shadow" />
</div>
</div>
## 手動で縦横のサイズを変更するにはどうすればよいですか?
`AutoSizeColumn`メソッドを使って自動的に寸法を計算し調整するほか、特定の要件を満たすために手動で列と行の幅と高さを調整することができます。 標準化されたレポート形式を実装する場合や、特定の寸法を必要とするテンプレートを使用する場合は、手動によるサイジングが便利です。
- 高さを調整: `Height`プロパティを設定します。
- 幅を調整: `Width`プロパティを設定します。
```csharp
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-manual.cs
```
### Excelでは高さと幅にどのような単位を使用しますか?
Excelでは、高さと幅の測定単位が異なります。 高さは1/20ポイントで測定され、幅は指定された`Normal`スタイルのフォントを使用してセルに収まる"0"の数に基づいています。 <a href="https://ironsoftware.com/csharp/excel/object-reference/api/">IronXLのAPI</a>を使用する場合、これらの変換を理解することは正確なレイアウトに不可欠です。
単位変換を簡単にするため、IronXL.Excelの値をMicrosoft Excelの表示ピクセルとして解釈してください。 ピクセルとは、画面の解像度に関係なく、1インチの96分の1を指します。 Excelは解像度に依存せず、物理的なピクセルに依存しません。
IronXLとExcelの縦横サイズの関係:
- 高さ: `1 pixel`です。
- 幅: `RangeColumn.Width = 23.255`は**1ピクセル**に相当します。
正確なスプレッドシートのレイアウト制御を必要とする開発者にとって、これらの変換係数は正確な寸法計算を可能にします。 他の書式設定機能と組み合わせることで、Excelドキュメントの外観を完全にコントロールすることができます。 これらの機能を使用するアプリケーションを本番環境でデプロイする際には、<a href="https://ironsoftware.com/csharp/excel/get-started/license-keys/">ライセンス キー</a>を適用することを忘れないでください。
Ask ChatGPT about this page
Ask Gemini about this page
Ask Perplexity about this page
IronXLは、C#でAutoSizeColumn()のようなメソッドを用いて、自動的に行と列のサイズをセルの内容に基づいて調整し、手動のスプレッドシート書式設定を無くし、結合セルの計算をサポートします。 この機能は、セルの寸法をその内容に動的に適合させることで、Excelのワークフローを自動化し、手作業による介入なしにプロフェッショナルなスプレッドシートを実現します。
IronXLを使用すれば、任意の行や列を1行でサイズ変更できます。WorkSheet.AutoSizeRow(int, bool)を使用して、セルの内容に基づいてサイズを調整します(結合セルは任意)。 このアプローチは、Excelのインストールを必要とせず、すべて for .NETプラットフォームで機能します。
1 Install IronXL with NuGet Package Manager
PM > Install-Package IronXL.Excel
Install-Package IronXL.Excel
2 このコード スニペットをコピーして実行します。
// One-line: auto-resize column A including merged cells
workSheet. AutoSizeColumn ( 0 , true );
// Or auto-resize row 5 quickly
workSheet. AutoSizeRow ( 4 , true );
// 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 実際の環境でテストするためにデプロイする
今日プロジェクトで IronXL を使い始めましょう無料トライアル
30日間無料トライアル
行のサイズを自動変更するにはどうすればよいですか?
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" ); 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");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook . Load ( "sample.xlsx" )
Private workSheet As WorkSheet = workBook. DefaultWorkSheet
' Apply auto resize on row 2
workSheet. AutoSizeRow ( 1 )
workBook. SaveAs ( "autoResize.xlsx" ) Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As 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" ); 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");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook . Load ( "sample.xlsx" )
Private workSheet As 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" ) Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As 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の自動リサイズ機能は、セルの境界線と整列 のような機能と統合され、プロフェッショナルなスプレッドシートを作成します。
結果はどのようになりますか?
行および列のすべてのインデックス位置はゼロベースインデックスを使用します。
マージされたセルによる高度な行のサイズ変更はどのように処理しますか?
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" ); 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");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook . Load ( "sample.xlsx" )
Private workSheet As 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" ) Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As 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メソッドは、各行ごとに個別に適用する必要があります。 この配信では、マージされたコンテンツがマージ領域内のすべての行で適切に表示されるようにします。
値が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 ); using IronXL;
workSheet.Merge("A1:A3");
workSheet.AutoSizeRow(0, false);
workSheet.AutoSizeRow(1, false);
workSheet.AutoSizeRow(2, false);
Imports IronXL
workSheet. Merge ( "A1:A3" )
workSheet. AutoSizeRow ( 0 , False )
workSheet. AutoSizeRow ( 1 , False )
workSheet. AutoSizeRow ( 2 , False ) Imports IronXL
workSheet.Merge("A1:A3")
workSheet.AutoSizeRow(0, False)
workSheet.AutoSizeRow(1, False)
workSheet.AutoSizeRow(2, False)
デモのために、私は、目立つ上下のパディングを追加しないように、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" ); 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");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook . Load ( "sample.xlsx" )
Private workSheet As 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" ) Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As 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メソッドは、各列に個別に適用する必要があります。 この比例配分により、マージされたコンテンツがマージ領域のすべての列で適切に表示されます。
値がfalseに設定されている場合はどうなりますか?
AutoSizeColumnメソッドは最も長い内容を持つセルに基づいて幅を調整します。 Microsoft Excelでは、セルを結合すると左上の値のみが保持され、その他のものは消去されます。しかし、IronXLのMerge メソッドは、結合領域内の他のセルの値を保持し、開発者により多くのデータ制御を提供します。
workSheet. Merge ( "A1:B1" );
workSheet. AutoSizeColumn ( 0 , false );
workSheet. AutoSizeColumn ( 1 , false ); workSheet.Merge("A1:B1");
workSheet.AutoSizeColumn(0, false);
workSheet.AutoSizeColumn(1, false);
workSheet. Merge ( "A1:B1" )
workSheet. AutoSizeColumn ( 0 , False )
workSheet. AutoSizeColumn ( 1 , False ) workSheet.Merge("A1:B1")
workSheet.AutoSizeColumn(0, False)
workSheet.AutoSizeColumn(1, False)
マージされたセルの幅は優先されず、各列の幅はコンテンツの幅に基づいて計算されたため、幅の変更はありませんでした。
ExcelとIronXL Auto Resizeの違いは何ですか?
Excelネイティブのオートフィット機能とIronXLの実装の違いを理解することで、開発者がスプレッドシート操作を自動化する際に十分な情報を得た上で決定することができます。 これらの違いは、プラットフォーム間の一貫性を維持する場合や、セルの寸法を正確に制御する必要がある場合に問題となります。
行はどのように違うのですか?
Excelの行の高さの自動調整機能は、セルに目立つ上下のパディングを適用します。 IronXLは行の高さを正確に制御し、パディングを追加することなくコンテンツに必要なスペースを正確に計算します。 この違いは、高密度のデータを扱う場合や、正確な印刷レイアウトが要求される場合に大きな意味を持ちます。
列はどのように違うのですか?
Excelの列幅自動調整機能は、あまり目立たないが、セルに左右のパディングを適用する。 IronXLは、スペースの最適化が重要な自動レポートシステム で作業する際に有益な、正確なコンテンツ幅に焦点を当てています。
手動で縦横のサイズを変更するにはどうすればよいですか?
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" ); 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");
Imports IronXL
' Load existing spreadsheet
Dim workBook As WorkBook = WorkBook . Load ( "sample.xlsx" )
Dim workSheet As WorkSheet = workBook. DefaultWorkSheet
Dim row As RangeRow = workSheet. GetRow ( 0 )
row. Height = 10 ' Set height
Dim col As RangeColumn = workSheet. GetColumn ( 0 )
col. Width = 10 ' Set width
workBook. SaveAs ( "manualHeightAndWidth.xlsx" ) Imports IronXL
' Load existing spreadsheet
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
Dim row As RangeRow = workSheet.GetRow(0)
row.Height = 10 ' Set height
Dim col As RangeColumn = 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.255は1ピクセル に相当します。
正確なスプレッドシートのレイアウト制御を必要とする開発者にとって、これらの変換係数は正確な寸法計算を可能にします。 他の書式設定機能と組み合わせることで、Excelドキュメントの外観を完全にコントロールすることができます。 これらの機能を使用するアプリケーションを本番環境でデプロイする際には、ライセンス キー を適用することを忘れないでください。
よくある質問 IronXLはセルの内容に基づいて行の高さを自動的に調整するAutoSizeRowメソッドを提供しています。workSheet.AutoSizeRow(rowIndex,includeMergedCells)を呼び出すだけです。rowIndexはゼロベースの行番号です。このメソッドは、フォント・サイズ、セルの内容、および書式属性に基づいて最適な高さを計算し、すべてのテキストが切り捨てられることなく表示されるようにします。
はい、IronXLはAutoSizeColumnメソッドで自動的に列幅を調整します。workSheet.AutoSizeColumn(columnIndex,includeMergedCells)を使用して、最も長い内容に基づいて列のサイズを変更します。このアルゴリズムは、テキストの長さ、数値書式、日付表示、およびその他のセル書式を考慮して、最適な幅を決定します。
IronXLはAutoSizeRowメソッドとAutoSizeColumnメソッドのbooleanパラメーターによってマージされたセルの自動リサイズをサポートしています。適切な寸法を決定する際にマージされたセルの計算を含めるには、2番目のパラメータをtrueに設定します(例えば、workSheet.AutoSizeColumn(0, true))。
IronXLのオートリサイズアルゴリズムは、フォントメトリクス、セルパディング、テキストラッピング設定、数値書式、日付表示、セルボーダーを含む複数の要素を考慮します。この包括的なアプローチにより、手動で操作することなく、すべてのコンテンツに対応する適切なサイズのセルを持つプロフェッショナルな見栄えのスプレッドシートが保証されます。
IronXLはExcelのインストールを必要とせず、単独で動作します。ライブラリは内部ですべての計算を行うため、Excelをインストールできないサーバー環境や導入シナリオに最適です。このアプローチはすべて for .NETプラットフォームで機能します。
IronXLのAutoSizeRowメソッドとAutoSizeColumnメソッドは個々の行/列に対して機能しますが、簡単に複数の項目をループしてリサイズすることができます。これにより、ワークシート全体または特定の範囲のバッチ処理が可能になり、Excelのワークフローを効率的に自動化できます。
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.
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.
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.
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は、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
...
詳しく読む