如何将excelsheet行高设置为auto,以便内容可以使用exceljs自动适应单元格

IT技术 javascript node.js reactjs export-to-excel exceljs
2021-05-14 00:56:47

我正在使用exceljs npm 在 excelsheet 中导出数据。由于我在单元格中的内容很大,所以我希望文本被包裹在单元格中,并且应该有足够的高度来显示完整的内容。我尝试通过给出固定宽度 -

worksheet.getRow(1).height = 20;

固定高度的问题是,如果我的内容大于此大小,则它不适合单元格,并且会显示如屏幕截图所示的裁剪文本。

在此处输入图片说明

我希望细胞看起来像这样 在此处输入图片说明

我已经浏览了 exceljs 文档,但没有找到任何东西。

提前致谢 !!

3个回答

您是否已经尝试不定义行的高度?我遇到了同样的问题,我像这样解决了它,这样行的高度就会自动调整。

我希望我在我的案例中应用的解决方案对您有用。问候。

您可以执行以下操作:对数据进行 Foreach 并通过索引获取所需的行

const row = worksheet.getRow(index);
    row.height = row.height * 20 / row.width;

*笔记:

  • 我修正了数字“20”,但你也可以把它变成一个变量

  • 在我的 excel 中,我的数据数据从第四行开始,所以我这样做:

     const row = worksheet.getRow(index + 4);
    

对我有用的是

worksheet.addRow(temp);
const row = worksheet.lastRow;
row.getCell(3).alignment = { wrapText: true };

当添加新行时,必须设置该行的第三个单元格对齐方式。

或者

一旦所有行都添加到该工作表中,遍历所有行并设置对齐属性。