nodejs读写excel并对内容加解密

1.cnpm install js-base64

2.cnpm install node-xlsx

3.代码:

1)加解密:

var { Base64 } = require('js-base64');

// 加盐

let salting = 'admin-authority'

// 加密

const encryptString = (name) => {

    return Base64.encode(name + salting)

}

// console.log(encryptString("1074116101"))

// var a = encryptString("1074116101")

const decodeString = (name) => {

    let decodeName = Base64.decode(name) || ''

    if (decodeName && decodeName.split && decodeName.split(salting) && decodeName.split(salting)[0]) {

        return decodeName.split(salting)[0]

    } else {

        return ''

    }

}

// console.log(decodeString(a))

// export { encryptString, decodeString }

module.exports = { encryptString , decodeString}

2)读写excel

var { encryptString, decodeString } = require("./index4")

var xlsx = require('node-xlsx');

var fs = require('fs');

// 读取Excel数据

try {

    //用户表数据

    var userTableData = [];

    //部门表数据

    var miData = [];

    //表数据

    var tableData = xlsx.parse("123.xlsx");

    //循环读取表数据

    for (var val in tableData) {

        //下标数据

        var itemData = tableData[val];

        //用户表

        if (itemData.name == 'Sheet1') {

            //循环读取用户表数据

            for (var index in itemData.data) {

                //0为表头数据

                if (index == 0) {

                    continue;

                }

                //添加部门表数据

                userTableData.push({

                    gonghao: itemData.data[index][0]

                });

            }

        }

    }

    // userTableData.forEach(item => console.log(item.gonghao))

    userTableData.forEach(item => {

        // let secretgonghao = window.atob(item.gonghao)

        // console.log(secretgonghao)

        console.log(item.gonghao)

        let se = encryptString(item.gonghao)

        miData.push({ "gonghao": item.gonghao, "se": se })

    })

    //输出用户表数据

    console.log("----输出用户表数据-------------");

    miData.forEach(item => console.log(item))

    console.log("---------------------");

    console.log(decodeString("MTA3NDExNjE0MmFkbWluLWF1dGhvcml0eQ=="))

    console.log("+++++++++++++++++++++++++++++++");

    var excelData = [];

    //表1

    {

        //添加数据

        var addInfo = {};

        //名称

        addInfo.name = "用户表";

        //数据数组

        addInfo.data = [

            ["gonghao", "jiamigonghao", "xiaozhang"],

        ];

        //添加数据

        // addInfo.data.push();

        // addInfo.data.push([10001, "李四", "男", 40]);

        miData.forEach(item => addInfo.data.push([item.gonghao, item.se, 0]))

        //添加数据

        excelData.push(addInfo);

    }

    //表2

    // {

    //     //添加数据

    //     var addInfo = {};

    //     //名称

    //     addInfo.name = "部门表";

    //     //数据数组

    //     addInfo.data = [

    //         ["部门ID", "部门名称"],

    //     ];

    //     //添加数据

    //     addInfo.data.push([10000, "技术部"]);

    //     addInfo.data.push([10001, "财务部"]);

    //     //添加数据

    //     excelData.push(addInfo);

    // }

    // 写xlsx

    var buffer = xlsx.build(excelData);

    //写入数据

    fs.writeFile('./denglu.xlsx', buffer, function (err) {

        if (err) {

            throw err;

        }

        //输出日志

        console.log('Write to xls has finished');

    });


 

}

catch (e) {

    //输出日志

    console.log("excel读取异常,error=%s", e.stack);

}

你可能感兴趣的:(前端,javascript,开发语言)