繁体   English   中英

如何使用 TypeScript/Angular 自定义我的 XLSX?

[英]How to customize my XLSX using TypeScript/Angular?

我有json:

{
   "cost": 852.14,
   "gross":741.85,
   "net": 213.00,
   "quantity":30,
   "missing": 20,
   "waiting":5
}

这是我的代码:

  const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(this.reportPayment,
    {
      header: ['cost', 'gross', 'net', 'quantity','missing', 'waiting']
    });
    const workbook: XLSX.WorkBook = { Sheets: { 'facture': worksheet }, SheetNames: ['facture'] };
    const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
    this.saveAsExcelFile(excelBuffer, 'Faktura');


  private saveAsExcelFile(buffer: any, fileName: string): void {
    const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });
    FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);
  }

我想自定义我的 XLSX,所以这些是我的问题:

  1. 如何合并任何单元格(行方向和列)? (例如将单元格 A1 与 A2 合并)
  2. 如何设置宽度和高度单元格? ()
  3. 如何将json的每个值粘贴到选定的单元格?
  4. 如何为单元格设置背景颜色?

这与打字稿或角度无关。 这都是关于 SheetJs 库 (XLSX)。 所以你需要阅读SheetJs 文档

例如,要合并单元格,您需要在创建 XLSX.WorkBook 之前填充工作表属性“!merges”:

if(!worksheet['!merges']) 
   worksheet['!merges'] = [];
worksheet["!merges"].push({s:{r:0,c:0},e:{r:1,c:0}}); /* A1:A2 */

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM