0

xlsx我需要使用库将角度材料数据表导出到 excel 文件中。

问题是,如果我在数据表中使用分页,并且在导出时,只会导出可见行:

exportTable()
  {
    //let data = Object.values(this.dataSource);
    const ws: xlsx.WorkSheet=xlsx.utils.table_to_sheet(this.table.nativeElement);
    const wb: xlsx.WorkBook = xlsx.utils.book_new();
    xlsx.utils.book_append_sheet(wb, ws, 'All Data Export');

    /* save to file */
    xlsx.writeFile(wb, 'ExportAllData.xlsx');
  }

我尝试使用以下方式导出它json_to_sheet()

  exportTable()
  {
    let data = this.allData;
    const ws: xlsx.WorkSheet=xlsx.utils.json_to_sheet(data);
    const wb: xlsx.WorkBook = xlsx.utils.book_new();
    xlsx.utils.book_append_sheet(wb, ws, 'All Data Export');

    /* save to file */
    xlsx.writeFile(wb, 'ExportAllData.xlsx');
  }

但是标题现在是索引而不是字段标题。

这是描述该问题的堆栈闪电战。

我应该使用第二种方法,通过向数组添加标题行.push()然后下载它吗?还是使用ng-table-export图书馆更好?

4

1 回答 1

2

尝试使用 json_to_sheet 函数的 options 参数;

let options:JSON2SheetOpts  = {header: ['Name', 'Surname', 'Age']};
const ws: XLSX.WorkSheet=XLSX.utils.json_to_sheet(data, options);
const wb: XLSX.WorkBook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, 'All Data Export');
XLSX.writeFile(wb, excelFileName + '.xlsx');
于 2019-06-26T10:55:36.270 回答