我正在尝试使用 js-xlsx 为导出的 excel 文件设置固定的列/单元格宽度。
编辑:
这是 js-xlsx 的来源: https ://github.com/SheetJS/js-xlsx
原文由 jgabrielfaria 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试使用 js-xlsx 为导出的 excel 文件设置固定的列/单元格宽度。
编辑:
这是 js-xlsx 的来源: https ://github.com/SheetJS/js-xlsx
原文由 jgabrielfaria 发布,翻译遵循 CC BY-SA 4.0 许可协议
扩展这个问题,如果你需要根据你的内容设置自动宽度,你可以这样写:
const worksheet = XLSX.utils.aoa_to_sheet(arrayOfArray);
worksheet['!cols'] = fitToColumn(arrayOfArray);
function fitToColumn(arrayOfArray) {
// get maximum character of each column
return arrayOfArray[0].map((a, i) => ({ wch: Math.max(...arrayOfArray.map(a2 => a2[i] ? a2[i].toString().length : 0)) }));
}
此函数假定您的第一行有最多的列。然后它会尝试通过计算内容字符长度来找到每列中最宽的单元格。
原文由 Icycool 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
我在这里找到了写测试的片段 https://github.com/SheetJS/js-xlsx/blob/master/tests/write.js#L14-L19
为了快速参考,ws 是您的工作表。