angular 將數據導出excel表格


下載

npm install @types/exceljs @types/file-saver  file-saver -S

疑問為什么下載了 @types/file-saver ,還下載后面的

因為會報錯,不信自己試試,后面發現再下載file-saver 能解決問題

上代碼

import {Component, OnInit} from '@angular/core';
import {Workbook} from 'exceljs';
import { saveAs } from 'file-saver';
@Component({
  selector: 'app-count-down',
  templateUrl: './count-down.component.html',
  styleUrls: ['./count-down.component.scss']
})
export class CountDownComponent implements OnInit {
  // 創建一個名字和年齡的數據
  json_data = [{
    "name": "Raja",
    "age": 20
  },
    {
      "name": "Mano",
      "age": 40
    },
    {
      "name": "Tom",
      "age": 40
    },
    {
      "name": "Devi",
      "age": 40
    },
    {
      "name": "Mango",
      "age": 40
    }
  ]

  constructor() {
  }

  ngOnInit(): void {
  }
	// 節點按鈕直接下載
  downloadExcel() {
    // 創建工作薄
    let workbook = new Workbook();
    // 將名字添加到工作薄中
    let worksheet = workbook.addWorksheet('名字年齡表格')
    // 添加行的標題
    let header = ['名字', '年齡']
    worksheet.addRow(header);
    // 把數據按照一行一行添加到里面去
    for (let item of this.json_data) {
      worksheet.addRow(Object.values(item))
    }
    // 下載文件名
    let fname = '個人資料統計表';
    workbook.xlsx.writeBuffer().then(data => {
      let blob=new Blob([data],{ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
      saveAs(blob, fname+'-'+new Date().valueOf()+'.xlsx');
    })
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM