You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Angular 6中HTML表格导出Excel格式异常问题求助

解决Excel导出表格行格式错误的问题

你的问题核心出在循环逻辑的设计上:当前代码是逐个遍历每个数组的元素,每次只把单个sum值和Code放在一行,自然会导致每个数值单独占一行。我们需要的是每个Code对应完整的一行数据——把该Code下的所有sum值一次性放到同一行里。

修正后的代码

export() { 
  let w = new Workbook(); 
  let ws = w.addWorksheet('Sheet 1'); 
  // 添加表头行
  ws.addRow(['Code', 'sum1', 'sum2', 'sum3']); 
  
  // 遍历对象的所有Code键(a、b、c)
  Object.keys(this.obj).forEach(key => {
    // 构造完整行数据:Code + 对应数组的所有元素
    const rowData = [key, ...this.obj[key]];
    ws.addRow(rowData);
  });
}

代码说明

  1. Object.keys(this.obj)统一获取所有Code(a、b、c),避免重复写三次冗余循环;
  2. 对每个Code,用扩展运算符...把对应数组的元素展开,和Code组合成完整的行数组(比如['a', 1, 2, 3]);
  3. 直接将这个完整数组传给ws.addRow(),就能生成包含Code和所有sum值的一行。

这样导出的Excel就会和你期望的HTML表格格式完全一致:

Code | sum1 | sum2 | sum3
a | 1 | 2 | 3
b | 0 | 0 | 0
c | 1 | 0 | 4

内容的提问来源于stack exchange,提问作者Tenzolinho

火山引擎 最新活动