<template>
  <div>
    <button @click="exportExcel">导出Excel</button>
  </div>
</template>
<script>
import XLSX from 'xlsx';

export default {
  methods: {
    exportExcel() {
      // 加载模板文件
      let workbook = XLSX.readFile(require('@/public/template.xlsx'));

      // 将Excel文件转换为JSON数据
      let worksheet = workbook.Sheets[workbook.SheetNames[0]];
      let jsonData = XLSX.utils.sheet_to_json(worksheet);

      // 修改JSON数据
      jsonData.forEach((row) => {
        row['Column1'] = 'prefix-' + row['Column1'];
      });

      // 将修改后的JSON数据转换为Sheet对象
      let newWorksheet = XLSX.utils.json_to_sheet(jsonData);

      // 添加单元格样式
      let range = XLSX.utils.decode_range(newWorksheet['!ref']);
      for (let i = range.s.r; i <= range.e.r; i++) {
        let cellRef = XLSX.utils.encode_cell({r: i, c: 1});
        newWorksheet[cellRef].s = {fill: {fgColor: {rgb: 'FFFF0000'}}};
      }

      // 将新的Sheet对象添加到workbook中
      XLSX.utils.book_append_sheet(workbook, newWorksheet, 'Sheet1');

      // 导出Excel文件
      XLSX.writeFile(workbook, 'modified.xlsx');
    }
  }
}
</script>
Vue.js 使用 XLSX 库解析并修改 Excel 文件,添加样式并导出

原文地址: https://www.cveoy.top/t/topic/oKKi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录