前端导出excel

86 阅读1分钟

读取excel替换目标值导出

  1. 安装exceljs,file-saver

    yarn add exceljs file-saver

  2. 读取excel后替换文本

    const file = await (await fetch(url)).arrayBuffer();
    // console.log(file)
    const workbook = new ExcelJS.Workbook();
    await workbook.xlsx.load(file);
    // // 获取第一个工作表
    const worksheet = workbook.getWorksheet(1);
    console.log(worksheet);
    const dobCol = worksheet.getColumn(3);
    // 遍历此列中的所有当前单元格
    dobCol.eachCell(function (cell, rowNumber) {
      if (cell.value?.includes?.("{")) {
        cell.value = data.value[cell.value.slice(1, -1)];
      }
    });

    const excel_name = "test.xlsx";
    
    workbook.xlsx.writeBuffer().then((buffer) => {
      let file = new Blob([buffer], {
        type: "application/octet-stream",
      });
      FileSaver.saveAs(file, excel_name);
    });