Node.js导出JSON为XLSX时最后一列自动分组问题解决咨询
解决XLSX最后一列自动分组的问题
嘿,我一下子就找到问题根源啦!你看这段处理列配置的代码:
const columns = fields.map((el, i, arr) => { const newEl = {header: el.fieldName, key: el.prop}; if (i === arr.length -1) { Object.assign(newEl, {outlineLevel: 1}); } return newEl; });
这里你在处理最后一列的时候,主动给它添加了outlineLevel: 1属性——这个属性正是ExcelJS用来设置列大纲分组级别的!虽然你说没加分组命令,但这段代码里的逻辑刚好给最后一列开启了分组功能。
修改方法超简单:
直接去掉针对最后一列添加outlineLevel的逻辑就行,修改后的列配置代码可以写成这样:
const columns = fields.map(el => { return {header: el.fieldName, key: el.prop}; });
如果你需要保留map的索引参数(比如后续有其他逻辑需要用到),也可以注释掉那个判断块:
const columns = fields.map((el, i, arr) => { const newEl = {header: el.fieldName, key: el.prop}; // 移除这个判断块,就不会再给最后一列加分组了 // if (i === arr.length -1) { // Object.assign(newEl, {outlineLevel: 1}); // } return newEl; });
这样生成的XLSX文件就不会再自动给最后一列分组啦。
内容的提问来源于stack exchange,提问作者Victoria
相关产品推荐
相关产品推荐

