zhaoke 8 months ago
parent
commit
82e24b093f

BIN
public/行李跟踪航站清单(2023年4月).xlsx


BIN
public/行李跟踪航站清单(2024年7月).xlsx


+ 2 - 2
src/layout/components/Navbar.vue

@@ -44,8 +44,8 @@
               <div class="handleMsgMneu-item">
                 <span class="editPwd">行李跟踪航站清单</span>
                 <span>
-                  <el-button @click="lookFile('行李跟踪航站清单(2023年4月).xlsx')" type="text">查看</el-button>
-                  <el-button @click="downFile('行李跟踪航站清单(2023年4月).xlsx')" type="text">下载</el-button>
+                  <el-button @click="lookFile('行李跟踪航站清单(2024年7月).xlsx')" type="text">查看</el-button>
+                  <el-button @click="downFile('行李跟踪航站清单(2024年7月).xlsx')" type="text">下载</el-button>
                 </span>
               </div>
             </el-dropdown-item>

+ 16 - 3
src/views/previewPage/index.vue

@@ -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;
     }
   },
 }