Node.js経由で結合セルの行の自動調整。
Contents
[
Hide
]
Microsoft Excelには、セルの高さをその内容に合わせて自動的にサイズ変更する機能があります。この機能は自動行の調整と呼ばれます。Microsoft Excelは、マージされたセルに自動行調整を自然に設定しません。時には、この機能が本当に必要なユーザーにとって、マージされたセルに自動行の調整を実装するのが不可欠になります。
マージセルの自動調整タイプを行の自動調整に使用する方法
Aspose.Cells for Node.js via C++はこの機能をAutoFitterOptions.autoFitMergedCellsType APIを通じてサポートしています。このAPIを使えば、結合セルを含むワークシートの行の自動調整が可能です。対応する自動調整の型一覧は以下のとおりです:
- なし
- 先頭行
- 末尾行
- 各行
マージされたセルの行の自動調整
以下のコードをご覧ください。これはブックオブジェクトを作成し、複数のシートを追加します。それぞれのシートで異なるメソッドを使って自動調整操作を行います。スクリーンショットはサンプルコード実行後の結果を示しています。

Node.jsサンプルコード
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Instantiating a Workbook object
const workbook = new AsposeCells.Workbook();
// Obtaining the reference of the newly added worksheet
const sheet1 = workbook.getWorksheets().get(0);
// Create a range A1:B2
const range = sheet1.getCells().createRange(0, 0, 2, 2);
// Merge the cells
range.merge();
// Insert value to the merged cell A1
sheet1.getCells().get(0, 0).setValue("A quick brown fox jumps over the lazy dog. A quick brown fox jumps over the lazy dog....end");
// Create a style object
const style = sheet1.getCells().get(0, 0).getStyle();
// Set wrapping text on
style.setIsTextWrapped(true);
// Apply the style to the cell
sheet1.getCells().get(0, 0).setStyle(style);
// Create an object for AutoFitterOptions
const options = new AsposeCells.AutoFitterOptions();
// Only expands the height of the first row.
options.setAutoFitMergedCellsType(AsposeCells.AutoFitMergedCellsType.FirstLine);
// Autofit rows in the sheet (including the merged cells)
sheet1.autoFitRows(options);
let index = workbook.getWorksheets().add();
const sheet2 = workbook.getWorksheets().get(index);
sheet2.setName("Sheet2");
// Create a range A1:B2
const range2 = sheet2.getCells().createRange(0, 0, 2, 2);
// Merge the cells
range2.merge();
// Insert value to the merged cell A1
sheet2.getCells().get(0, 0).setValue("A quick brown fox jumps over the lazy dog. A quick brown fox jumps over the lazy dog....end");
// Create a style object
const style2 = sheet2.getCells().get(0, 0).getStyle();
// Set wrapping text on
style2.setIsTextWrapped(true);
// Apply the style to the cell
sheet2.getCells().get(0, 0).setStyle(style2);
// Create an object for AutoFitterOptions
const options2 = new AsposeCells.AutoFitterOptions();
// Only expands the height of the last row.
options2.setAutoFitMergedCellsType(AsposeCells.AutoFitMergedCellsType.LastLine);
// Autofit rows in the sheet (including the merged cells)
sheet2.autoFitRows(options2);
index = workbook.getWorksheets().add();
const sheet3 = workbook.getWorksheets().get(index);
sheet3.setName("Sheet3");
// Create a range A1:B2
const range3 = sheet3.getCells().createRange(0, 0, 2, 2);
// Merge the cells
range3.merge();
// Insert value to the merged cell A1
sheet3.getCells().get(0, 0).setValue("A quick brown fox jumps over the lazy dog. A quick brown fox jumps over the lazy dog....end");
// Create a style object
const style3 = sheet3.getCells().get(0, 0).getStyle();
// Set wrapping text on
style3.setIsTextWrapped(true);
// Apply the style to the cell
sheet3.getCells().get(0, 0).setStyle(style3);
// Create an object for AutoFitterOptions
const options3 = new AsposeCells.AutoFitterOptions();
// Only expands the height of each row.
options3.setAutoFitMergedCellsType(AsposeCells.AutoFitMergedCellsType.EachLine);
// Autofit rows in the sheet (including the merged cells)
sheet3.autoFitRows(options3);
index = workbook.getWorksheets().add();
const sheet4 = workbook.getWorksheets().get(index);
sheet4.setName("Sheet4");
// Create a range A1:B2
const range4 = sheet4.getCells().createRange(0, 0, 2, 2);
// Merge the cells
range4.merge();
// Insert value to the merged cell A1
sheet4.getCells().get(0, 0).setValue("A quick brown fox jumps over the lazy dog. A quick brown fox jumps over the lazy dog....end");
// Create a style object
const style4 = sheet4.getCells().get(0, 0).getStyle();
// Set wrapping text on
style4.setIsTextWrapped(true);
// Apply the style to the cell
sheet4.getCells().get(0, 0).setStyle(style4);
// Create an object for AutoFitterOptions
const options4 = new AsposeCells.AutoFitterOptions();
// Ignore merged cells.
options4.setAutoFitMergedCellsType(AsposeCells.AutoFitMergedCellsType.None);
// Autofit rows in the sheet (not including the merged cells)
sheet4.autoFitRows(options4);
// Save the Excel file
workbook.save("out.xlsx");