Excel表格中读入的是姓名,而后端需要的是username
//我们在ex文档中得到的数据
{电话:'12345678901', 名称:'管理员'.....}
//我们需要的数据
{mobile:'12345678901', username:'管理员'.....}
所以我们这时需要将key从中文转换为英文
思路:对于原数组每个对象来说
- 找出所有的中文key
- 得到对应的英文key
- 拼接一个新对象: 英文key:值
formatData(rows) {
//这个地方是对照表 需要时自行更改
const map = {
'id': '编号',
'password': '密码',
'mobile': '手机号',
'username': '姓名',
'timeOfEntry': '入职日期',
'formOfEmployment': '聘用形式',
'correctionTime': '转正日期',
'workNumber': '工号',
'departmentName': '部门',
'staffPhoto': '头像地址'
}
console.log('做格式转换', rows)
/** *
* rows:
* [
* {mobile:'12345678901', username:'管理员'.....}
* {mobile:'12345678901', username:'小王'.....}
* ]
* header: [手机, 用户名]
* data: [ ['12345678901', '管理员'], ['12345678901', '小王'] ]
*/
// 把英文的key转成中文的表头
const enKeys = Object.keys(rows[0])
const header = enKeys.map(enKey => map[enKey])
const data = rows.map(obj => {
return Object.values(obj)
})
console.log(enKeys, header, data)
return {
header,
data // [ ['1234567891', '管理员'], [] ]
}
},
之后调用方法便可以得到英文key的数据了