使用ExcelJS处理Excel
官方中文文档
在浏览器环境下,用Excel.js读取excel文件
因为SheetJS读取样式的那一部分是收费的(具体原因是因为有人花钱找他们开发的,再免费对花钱的人不公平),所以找到了ExcelJS
ExcelJS
- 安装ExcelJS
npm install exceljs
- exceljs.min.js文件路径
node_modules\exceljs\dist\exceljs.min.js
- 引用exceljs.min.js
FileSaver
- 安装FileSaver
npm install file-saver
- FileSaver.min.js文件路径
node_modules\file-saver\dist\FileSaver.min.js
- 引用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();