• node操作excel


    const xlsx = require('xlsx');
    const path = require('path')
    

     读取绝对地址的excel 

    let workbook = xlsx.readFile(`./app/public/excel/a1573289191730.xls`); //workbook就是xls文档对象
            let sheetNames = workbook.SheetNames; //获取表明
            let sheet = workbook.Sheets[sheetNames[0]]; //通过表明得到表对象
            var data = xlsx.utils.sheet_to_json(sheet); //通过工具将表对象的数据读出来并转成json
            ctx.body = data
    

     创建excel并写入数据

     let json = [
                { Name: 'name_01', Age: 11, Address: 'address_01' },
                { Name: 'name_02', Age: 22, Address: 'address_02' },
                { Name: 'name_03', Age: 23, Address: 'address_03' },
                { Name: 'name_04', Age: 24, Address: 'address_04' },
                { Name: 'name_05', Age: 25, Address: 'address_05' },];
    
            let ss = xlsx.utils.json_to_sheet(json); //通过工具将json转表对象
            let keys = Object.keys(ss).sort(); //排序 [需要注意,必须从A1开始]
    
            let ref = keys[1] + ':' + keys[keys.length - 1]; //这个是定义一个字符串 也就是表的范围[A1:C5] 
    
            let workbook = { //定义操作文档
                SheetNames: ['nodejs-sheetname'], //定义表明
                Sheets: {
                    'nodejs-sheetname': Object.assign({}, ss, { '!ref': ref }) //表对象[注意表明]
                },
            }
            let name = `a${getTime()}.xls`;
            xlsx.writeFile(workbook, `./app/public/excel/${name}`); //将数据写入文件
            ctx.body = `${ctx.origin}/upload/${name}`

    未尝试exceljs,下节尝试

    const fs = require('fs')

    const Excel = require('exceljs')

  • 相关阅读:
    day 13 python循环
    day 12 python开始--字符串
    day eleven 正则表达式以及shell基础学习
    day ten linux学习
    eight day linux网络基础
    设计模式
    JAVA中JDK和JRE的区别
    工作流基本概念__了解就行
    mybitis注解开发_curd操作
    Spring boot 整合SSM框架三层架构并前后台restful风格交互
  • 原文地址:https://www.cnblogs.com/chenlw/p/11826735.html
Copyright © 2020-2023  润新知