2***@qq.com
2***@qq.com
  • 发布:2023-03-14 19:36
  • 更新:2023-03-14 19:37
  • 阅读:500

Uniapp 5+app 安卓端导入excel数据

分类:HTML5+

导入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))  
                        },
0 关注 分享

要回复文章请先登录注册

2***@qq.com

2***@qq.com (作者)

tab.replaceAll(
'<tr><td>地址</td><td>项目名称</td><td>其他</td><td>费用</td><td>电话号码 </td><td>录入时间</td><td>编号</td></tr>',
'')
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
});
这里换成各自的字段即可
2023-03-14 19:37