|
@@ -40,9 +40,10 @@ export default {
|
|
|
axios.get('./' + fileName, {
|
|
|
responseType: "arraybuffer", // 设置响应体类型为arraybuffer
|
|
|
}).then(({ data }) => {
|
|
|
- let workbook = XLSX.read(new Uint8Array(data), { type: "array" }); // 解析数据
|
|
|
- var worksheet = workbook.Sheets[workbook.SheetNames[0]]; // workbook.SheetNames 下存的是该文件每个工作表名字,这里取出第一个工作表
|
|
|
- this.tableau = XLSX.utils.sheet_to_html(worksheet); // 渲染
|
|
|
+ const workbook = XLSX.read(new Uint8Array(data), { type: "array" }); // 解析数据
|
|
|
+ const sheet = workbook.Sheets[workbook.SheetNames[0]]; // workbook.SheetNames 下存的是该文件每个工作表名字,这里取出第一个工作表
|
|
|
+ const csv = XLSX.utils.sheet_to_html(sheet)
|
|
|
+ this.tableau = this.csv2table(csv)
|
|
|
this.loading = false
|
|
|
}).catch(err => {
|
|
|
this.loading = false
|
|
@@ -83,6 +84,18 @@ export default {
|
|
|
this.loading = false
|
|
|
console.error(err)
|
|
|
})
|
|
|
+ },
|
|
|
+ csv2table (csv) {
|
|
|
+ var html = '';
|
|
|
+ let str = csv
|
|
|
+ let startNo = str.indexOf(`<table>`);
|
|
|
+ let endNo = str.indexOf(`</table>`);
|
|
|
+ str = str.substring(startNo, endNo + `</table>`.length);
|
|
|
+
|
|
|
+ str = str.replace(/(\b(?:id|t|v)=".*?")/g, '');
|
|
|
+ str = str.replace('<table>', `<table border="1" style="border-collapse:collapse; width: 100%; border:1px solid #666666;line-height: 2;">`);
|
|
|
+ html += str;
|
|
|
+ return html;
|
|
|
}
|
|
|
},
|
|
|
}
|