我正在使用 exceljs npm 导出 excelsheet 中的数据。由于单元格中的内容很大,因此我希望文本包含在单元格中,并且应该有足够的高度来显示完整内容。我尝试给出固定宽度 -
worksheet.getRow(1).height = 20;
固定高度的问题是,如果我的内容大于这个尺寸,那么它就无法适合单元格,并且会显示裁剪后的文本,如屏幕截图所示。
我已经浏览了 exceljs 文档,但没有找到任何东西。
提前致谢!
您是否已经尝试过不定义行的高度?我遇到了同样的问题,我这样解决了它,这样行的高度就会自动调整。
我希望我在案例中应用的解决方案对您有用。问候。
对我有用的是,
worksheet.addRow(temp);
const row = worksheet.lastRow;
row.getCell(3).alignment = { wrapText: true };
添加新行时,必须设置该行的第三个单元格对齐方式。
或
将所有行添加到该工作表中后,迭代所有行并设置对齐属性。
你可以这样做: Foreach 数据并通过索引获取所需的行
const row = worksheet.getRow(index);
row.height = row.height * 20 / row.width;
*注意:
我固定了数字“20”,但你也可以将其设为变量
在我的 Excel 中,我的数据从第四行开始,所以我这样做:
const row = worksheet.getRow(index + 4);
exceljs 库没有提供一种简单的方法来根据单元格中的内容自动调整行高。
对于临时情况,根据内容长度设置行高。它对我有用
row.height = cell.value.toString().trim().length
来自 Shivam Kubde 的评论
Don't mention the height thats automatically take , you need to use
let rowValue = worksheet.addRow(RecordValues);
rowValue.eachCell(cell => {
cell.alignment =
{ horizontal: 'center',vertical :'middle' ,wrapText: true};
})