js实现Excel表格上传解析与导出

比眉伴天荒 2022-11-14 07:56 428阅读 0赞

1. 二进制读取并解析xlsx文件

xlsx库:用于解析xlsx文件

  1. import * as XLSX from 'xlsx';
  2. let data = await readFile(file); //读取文件二进制
  3. const workbook = XLSX.read(data, { type:'binary'}); // xlsx解析二进制文件
  4. const worksheet = workbook.Sheets[workbook.SheetNames[0]]; // 获取解析的xlsx内容
  5. const data = XLSX.utils.sheet_to_json(worksheet); // 解析的xlsx内容转js对象形式
  6. //读取文件的二进制并返回
  7. function readFile(file) {
  8. return new Promise(resolve => {
  9. let reader = new FileReader()
  10. reader.readAsBinarySTring(file)
  11. reader.onload = ev => {
  12. resolve(ev.target.result)
  13. }
  14. })
  15. }

2. 浏览器将js对象导出成xlsx文件

  1. import * as XLSX from 'xlsx';
  2. // 导出的数据
  3. const data = [
  4. { 姓名: '小明1', 年龄: 18, 电话: 110 },
  5. { 姓名: '小明2', 年龄: 19, 电话: 110 },
  6. { 姓名: '小明3', 年龄: 20, 电话: 110 },
  7. ];
  8. const sheet = XLSX.utils.json_to_sheet(data); // json数据转sheet数据格式
  9. const book = XLSX.utils.book_new(); // 新创建一个表格容器
  10. XLSX.utils.book_append_sheet(book, sheet, 'sheetName'); // 数据加入名为'sheetName'的表格
  11. XLSX.writeFile(book, `user${ new Date().getTime()}.xls`); // 写入xls文件并且浏览器导出

发表评论

表情:
评论列表 (有 0 条评论,428人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Excel表格导出

    开发工具与关键技术:MVC 作者:文泽钦 撰写时间:2019年5月25日 员工数据导出到excel表格,导出前要对数据处理,因为一个项目可以导出的数据比较多,在导出前