diff --git a/package.json b/package.json
index 94c2f5c..082e839 100644
--- a/package.json
+++ b/package.json
@@ -42,7 +42,8 @@
"vue-router": "^4.2.5",
"vue-video-player": "^6.0.0",
"vue3-print-nb": "^0.1.4",
- "webrtc-adapter": "^9.0.1"
+ "webrtc-adapter": "^9.0.1",
+ "xlsx": "^0.18.5"
},
"devDependencies": {
"@univerjs/vite-plugin": "^0.5.0",
diff --git a/src/components/file/list.vue b/src/components/file/list.vue
index dac519e..d7134a5 100644
--- a/src/components/file/list.vue
+++ b/src/components/file/list.vue
@@ -158,6 +158,19 @@
>
+
+
+
+
+import * as XLSX from 'xlsx'
+import { ref, onMounted } from 'vue'
+import { getToken } from '@/utils/token'
+
+const props = defineProps({
+ src: {
+ type: String,
+ required: true
+ }
+})
+
+const html = ref('')
+const loading = ref(true)
+
+onMounted(async () => {
+ try {
+ const res = await fetch(props.src, {
+ headers: {
+ Authorization: getToken()
+ }
+ })
+
+ const buffer = await res.arrayBuffer()
+ const workbook = XLSX.read(buffer, { type: 'array' })
+
+ const sheet = workbook.Sheets[workbook.SheetNames[0]]
+ html.value = XLSX.utils.sheet_to_html(sheet)
+ } catch (e) {
+ html.value = 'xls 文件解析失败,请下载查看
'
+ console.error(e)
+ } finally {
+ loading.value = false
+ }
+})
+
+
+
+
+
+
+