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);
}