使用ExcelJS处理Excel

官方中文文档
在浏览器环境下,用Excel.js读取excel文件

因为SheetJS读取样式的那一部分是收费的(具体原因是因为有人花钱找他们开发的,再免费对花钱的人不公平),所以找到了ExcelJS

ExcelJS

  1. 安装ExcelJS npm install exceljs
  2. exceljs.min.js文件路径 node_modules\exceljs\dist\exceljs.min.js
  3. 引用exceljs.min.js

FileSaver

  1. 安装FileSaver npm install file-saver
  2. FileSaver.min.js文件路径 node_modules\file-saver\dist\FileSaver.min.js
  3. 引用FileSaver.min.js

开始使用

<script src="exceljs.min.js"></script>
<script src="FileSaver.min.js"></script>
    var templatePath = 'http://localhost:12345/Test.xlsx';
    var req = new XMLHttpRequest();
    req.open('GET', templatePath, true);
    req.responseType = 'arraybuffer';
    req.onload = function (e) {
        var workbook = new window.ExcelJS.Workbook();

        //因为workbook.xlsx.load和workbook.xlsx.writeBuffer都是异步方法,所以需要使用then
        workbook.xlsx.load(req.response).then(() => {

            //修改workbook
            workbook.creator = 'vvull';
            let worksheet = workbook.getWorksheet('SheetName');

            //保存Excel
            workbook.xlsx.writeBuffer().then(res => {
                var blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' });
                saveAs(blob, 'vvull.xlsx');
            })
        });
        

    }
    req.send();
posted @ 2023-01-06 15:34  vvull  阅读(1635)  评论(0编辑  收藏  举报