vue预览 pdf、word、xls、ppt、txt文件方法

首先说下为什么要分享:特么的,网上教的都是特么的啥玩意!!!真特么垃圾,各种方法说不到点子上!!!真是特么气死我了!还有那群只会复制粘贴的帖子狗!妈的,自己都不做测试就会复制粘贴别人的,然后就发出来误人子弟,我真是醉了!

上方法:

1. 在页面内加个 iframe ,src地址即为要展示的文件地址

这里我用的是 elementui ,你们如果用其他的也是用iframe就得了

2. word、xls、ppt这些文件要用 微软官方的预览地址

注意:1. 文件地址必须公网;2. 静态资源不要有访问权限

最后,你控制的只是src地址

微软解析地址:https://view.officeapps.live.com/op/view.aspx?src=你的文件地址

这里我只是控制了 imgVisbleURL 变量 然后 iframe的src就取的这个变量的 地址

3. 最终效果

(1)txt

(2)word、xls、ppt

(3)pdf

你可以使用第三方库如`xlsx`来处理和预览xlsxlsx文件。以下是一个使用Vuexlsx库预览文件的示例: 首先,安装`xlsx`库: ```bash npm install xlsx ``` 然后,在Vue组件中引入和使用`xlsx`库: ```vue <template> <div> <input type="file" @change="handleFileUpload" accept=".xls,.xlsx"> <table v-if="data"> <thead> <tr> <th v-for="cell in data[0]">{{ cell }}</th> </tr> </thead> <tbody> <tr v-for="(row, index) in data.slice(1)"> <td v-for="cell in row">{{ cell }}</td> </tr> </tbody> </table> </div> </template> <script> import XLSX from 'xlsx'; export default { data() { return { data: null, }; }, methods: { handleFileUpload(event) { const file = event.target.files[0]; const reader = new FileReader(); reader.onload = (e) => { const data = new Uint8Array(e.target.result); const workbook = XLSX.read(data, { type: 'array' }); const worksheet = workbook.Sheets[workbook.SheetNames[0]]; const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 }); this.data = jsonData; }; reader.readAsArrayBuffer(file); }, }, }; </script> ``` 这个示例中,我们创建了一个文件上传的输入框,并监听其`change`事件。当用户选择文件后,我们使用`FileReader`读取文件内容,并将其转换为`Uint8Array`类型。然后,我们使用`XLSX`库的`read`方法文件内容解析为工作簿对象,并获取第一个工作表的数据。最后,我们使用`XLSX.utils.sheet_to_json`方法将工作表数据转换为JSON格式并赋值给`data`属性,以在模板中显示。 请注意,这只是一个简单的示例,你可能需要根据自己的需求进行适当的修改和扩展。
评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值