angular8 Vue 導出excel文件


angular

 

package

1、xlsx  

  npm install xlsx --save

2、file-saver

  npm install file-saver --save

  npm install @types/file-saver --save

3、angular實現導出多個sheet的數據

exportExcel() {
    import("xlsx").then(xlsx => {
      // const worksheet = xlsx.utils.json_to_sheet(this.getCars());
      console.log(this.BeautifuleValue);
      var all = [
        [],
        [],
        []
      ];
      this.BeautifuleValue.districtBeautifyAdjustedValue.forEach(element => {
        all[0].push(
          {
            '區縣': this.districtName[element.customer],
            '美化系數': element.coefficient,
            '美化值': element.beautifyValue
          }
        );
      });
      this.BeautifuleValue.platBeautifyAdjustedValue.forEach(element => {
        all[1].push(
          {
            '平台': this.platName[element.plat],
            '美化系數': element.coefficient,
            '美化值': element.beautifyValue
          }
        );
      });
      this.BeautifuleValue.industryBeautifyAdjustedValue.forEach(element => {
        all[2].push(
          {
            '行業': element.industry,
            '美化系數': element.coefficient,
            '美化值': element.beautifyValue
          }
        );
      });
      const oneSheet = xlsx.utils.json_to_sheet(all[0]);
      const twoSheet = xlsx.utils.json_to_sheet(all[1]);
      const threeSheet = xlsx.utils.json_to_sheet(all[2]);
      const workbook = { Sheets: { '區縣': oneSheet, '平台': twoSheet, '行業': threeSheet }, SheetNames: ['區縣', '平台', '行業'] };
      const excelBuffer: any = xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });
      this.saveAsExcelFile(excelBuffer, "美化值");
    });
  }

  saveAsExcelFile(buffer: any, fileName: string): void {
    import("file-saver").then(FileSaver => {
      let EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
      let EXCEL_EXTENSION = '.xlsx';
      const data: Blob = new Blob([buffer], {
        type: EXCEL_TYPE
      });
      FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);
    });
  }

 4、vue導出

 
         
    export(){
      let exportExcelList = [
        {
          "機構編號": 111111,
          "機構名稱": 111111,
        },
        {
          "機構編號": 111111,
          "機構名稱": 111111,
        }
      ];
      import("xlsx").then(xlsx => {
          // const worksheet = xlsx.utils.json_to_sheet(this.getCars());
          console.log(this.BeautifuleValue);
          const oneSheet = xlsx.utils.json_to_sheet(exportExcelList);
          const workbook = {
            Sheets: { 組織機構: oneSheet },
            SheetNames: ["組織機構"]
          };
          const excelBuffer = xlsx.write(workbook, {
            bookType: "xlsx",
            type: "array"
          });
          this.saveAsExcelFile(excelBuffer, "組織機構數據 " + new Date());
        });
    },
 
    saveAsExcelFile(buffer, fileName) {
      /**
       * 導出數據fun
       */
      import("file-saver").then(FileSaver => {
        let EXCEL_TYPE =
          "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8";
        let EXCEL_EXTENSION = ".xlsx";
        const data = new Blob([buffer], {
          type: EXCEL_TYPE
        });
        FileSaver.saveAs(
          data,
          fileName + "_export_" + new Date().getTime() + EXCEL_EXTENSION
        );
      });
    }
 

 






免責聲明!

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



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