导入excel数据为json数据
/**
* Read/Write data to a file using Plus.io API
* @param {string} filename Name of the file
* @param {string} data Data to be written (only applicable for write operation)
* @param {string} type Operation type (1: read, 2: write)
* @returns {Promise} Promise that resolves with file data (only applicable for read operation) or empty string (for write operation)
*/
function fileOperation(filename, data, type) {
return new Promise((resolve, reject) => {
plus.io.requestFileSystem(
plus.io.PUBLIC_DOCUMENTS,
(fs) => {
fs.root.getFile(
filename, {
create: type === '2'
},
(fileEntry) => {
if (type === '1') {
fileEntry.file(
(file) => {
const reader = new plus.io.FileReader()
reader.onloadend = (evt) => {
resolve(evt.target.result)
}
reader.readAsText(file)
},
(error) => reject(error)
)
} else {
fileEntry.createWriter(
(writer) => {
writer.onwrite = () => {
resolve('')
}
writer.write(data)
},
(error) => reject(error)
)
}
},
(error) => reject(error)
)
},
(error) => reject(error)
)
})
}
importData() {
let resArr = [];
fileOperation('data.xlsx', '', '1').then(data => {
console.log(data);
tab = data.substring(data.indexOf('<table>') + 7, data.indexOf(
'</table></body>'))
tab = tab.replaceAll(
'<tr><td>地址</td><td>项目名称</td><td>其他</td><td>费用</td><td>电话号码 </td><td>录入时间</td><td>编号</td></tr>',
'')
console.log(tab)
let doc = document.createElement('table')
doc.innerHTML = tab
console.log(doc);
// 获取所有tr
let trArr = doc.querySelectorAll('tr');
for (let i = 0; i < trArr.length; i++) {
let tdArr = trArr[i].querySelectorAll('td');
resArr.push({
"address": tdArr[0].innerHTML,
"project": tdArr[1].innerHTML,
"other": tdArr[2].innerHTML,
"money": tdArr[3].innerHTML,
"phone": tdArr[4].innerHTML,
"created_at": tdArr[5].innerHTML,
"id": tdArr[6].innerHTML,
"index": i
});
}
console.log(JSON.stringify(resArr));
}).catch(error => console.log(error))
},
1 个评论
要回复文章请先登录或注册
2***@qq.com (作者)