行と列のサイズを自動調整する方法
スプレッドシートで行や列のサイズを変更すると、多くのスペースを節約し、読みやすくすることができます。 IronXLのC#ライブラリは、行と列を自動的にリサイズする機能を提供します。 C#で実行されるため、サイズ変更メソッドは既存のすべての行と列に対して呼び出すことができ、スプレッドシートの手作業を自動化できます。
行と列のサイズを自動調整する方法
IronXLで始めましょう
今日から無料トライアルでIronXLをあなたのプロジェクトで使い始めましょう。
行の自動リサイズ例
AutoSizeRow
メソッドは、指定された行の高さを自動的に調整します。(s)内容に基づいて。
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-rows.cs
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")
デモンストレーション
列の自動サイズ変更例
AutoSizeColumn
メソッドを使用して列の幅を調整する(s)長さに基づいてその内容。
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-columns.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize on column A
workSheet.AutoSizeColumn(0);
workBook.SaveAs("autoResizeColumn.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize on column A
workSheet.AutoSizeColumn(0)
workBook.SaveAs("autoResizeColumn.xlsx")
デモンストレーション
ヒント
高度な自動行リサイズの例
AutoSizeRow
メソッドのもう一つのオーバーロードは、第2引数としてBoolean値を取ります。 trueに設定すると、結合セルの高さも考慮され、結合領域の左上セルの値の高さを結合領域内の行数で割ることになります。 この条件は、結合されたセルの内容が結合領域内の他の行と比較して最も高い高さを持つ場合に適用されます。
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
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")
例
例えば、内容の高さが192ピクセルで、3行にまたがる結合された領域にあるとします。 これらの行のいずれかに自動サイズを適用すると、アルゴリズムは192 px の内容の高さを3で割り、各行の高さが64 pxになります。 AutoSizeRow
メソッドは各行に個別に適用する必要があることを忘れないでください。
値がfalseに設定されている場合はどうなりますか?
値がfalseに設定されると、AutoSizeRow
メソッドは最も高さがあるセルの内容に基づいて行の高さを調整します。 Microsoft Excelでは、セルの範囲を結合すると、左上のセルの値のみを保持し、その他のセルを消去します。ただし、IronXLでは、 マージ 操作は、結合領域内の他のセルの値を消去することなく実行されます。
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows-false.cs
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)
デモンストレーションのために、Excelを使用せずに手動で行の高さを調整しました。 行の高さの自動調整機能. これは、目立った上部および下部の余白を追加しないようにするために行われました。
useMergedCells パラメーターを false に設定すると、結合セルの高さが考慮されません。 その結果、行の高さに変更はなく、それぞれの行の高さはその内容に基づいてのみ計算されます。
高度な列自動リサイズの例
AutoSizeRow
と同様に、列のサイズ変更も結合セルの幅を考慮することができます。 true に設定すると、結合されたセルの幅が考慮されます。 結合セルが最も長い内容を持っている場合、サイズ変更された列の幅は結合領域内の列数で割られた結合セルの幅となります。
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns.cs
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")
例
たとえば、コンテンツの幅が117ピクセルで、2列にまたがる結合された領域に位置している場合、これらの列のいずれかにオートサイズを適用すると、各列の幅は59ピクセルになります。 AutoSizeColumn
メソッドは、各列ごとに個別に適用する必要があります。
値がfalseに設定されている場合はどうなりますか?
値がfalseに設定されている場合、AutoSizeColumn
メソッドはセルの内容のうち、最も長い幅に基づいて幅を調整します。 Microsoft Excelでは、セル範囲を結合すると、左上の値のみが保持され、残りは消去されます。ただし、IronXL マージ メソッドは、結合された領域内の他のセルの値を消去しません。
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns-false.cs
workSheet.Merge("A1:B1");
workSheet.AutoSizeColumn(0, false);
workSheet.AutoSizeColumn(1, false);
workSheet.Merge("A1:B1")
workSheet.AutoSizeColumn(0, False)
workSheet.AutoSizeColumn(1, False)
結合されたセルの幅が優先されていなかったため、各列の幅がその内容の幅に基づいて計算されていたため、幅に変更がありませんでした。
エクセルとIronXLの自動サイズ変更の違い
(以下の説明文を翻訳に続けて提供してください。)
行
Excel の自動調整行の高さ機能は、セルの上下に顕著なパディングを適用します。
列
Excelの自動調整列幅機能は、セルに左右のパディングも適用しますが、それほど目立ちません。
高さと幅の手動リサイズ例
内容の幅と高さを計算して調整するために AutoSizeRow
および AutoSizeColumn
メソッドに依存するだけでなく、特定の要件に応じて手動で列と行の幅と高さを調整する柔軟性もあります。 これにより、必要に応じて特定の値に設定することができます。
- 高さを調整するには、RangeRow の Height プロパティを設定します。
- 幅を調整するには、RangeColumn の Width プロパティを設定します。
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-manual.cs
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
エクセルの高さと幅の単位
Excelの高さと幅の測定単位は異なります。 具体的には、高さは1/20ポイント単位で測定され、一方、幅は「Normal」スタイルで指定されたフォントを使用してセルに収まる「0」の数に基づいて決定されます。
単位変換を簡素化するために、Microsoft Excelの表示ピクセルに対応する値をIronXLにしてください。 ピクセルは画面上の物理的な点を表すものではないことに注意することが重要です。 それどころか、画面の実際の解像度にかかわらず、1インチの1/96として定義されています。 Excel自体は、解像度に依存しないように設計されており、物理的なピクセルに依存しません。
以下の近似値を考慮することで、IronXL と Excel の高さおよび幅の測定値の関係を確立できます:
- 高さ: RangeRow.Height = 10 の場合、おおよその高さは 1ピクセル になります。
- 幅: RangeColumn.Width = 23.255 は 1ピクセル に相当します。