zoukankan      html  css  js  c++  java
  • 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
            );
          });
        }
     




  • 相关阅读:
    关于python的打包打包完生成exe文件之后,不能正常执行程序的问题解决。
    通过Python读取sqlserver数据写成json文件的总结
    关于在mysql数据库当中,批量查询一堆表的表名称和对应的行数的时候,批量查询的和单独查询出来的数据有差异
    通过Python读取csv文件报错的File "D:Pythonlibcodecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x90 in
    关于redshift数据库和mysql数据库当中的concat函数的使用语法总结
    关于在kettle当中使用循环去读取数据做etl操作。
    关于aws当中的redshift自定义函数的部署和创建(UDF)
    关于Python当中时间戳和服务器上面的时间戳的处理
    SVN服务器搭建和使用以及冲突解决、用户密码修改
    成为Java顶尖高手要看的11本书
  • 原文地址:https://www.cnblogs.com/shuangzikun/p/12028480.html
Copyright © 2011-2022 走看看