Excel表格js读取数据(json)并进行前端页面表格预览展示

在Vue+Ant Design项目环境中,使用xlsx库和FileReader API实现Excel文件的前端预览。由于MDN建议弃用readAsBinaryString,文章主要介绍了方法二,通过readAsArrayBuffer读取文件内容,转化为ArrayBuffer对象。业务场景是业务员上传Excel数据进行前端预览,代码示例包括两种处理方法,可将Excel转换为JSON对象并展示。
摘要由CSDN通过智能技术生成

项目环境:Vue+Ant Design 

使用到的依赖库: xlsx ( yarn add  xlsx) npm链接:xlsx - npm

使用的Web API : FileReader  MDN链接:FileReader - Web API 接口参考 | MDN

使用到的关键方法:

1.readAsBinaryString会读取指定的 Blob 或 File 对象,当读取完成的时候,readyState  会变成DONE(已完成),并触发 loadend (en-US) 事件,同时 result 属性将包含所读取文件原始二进制格式。用于方法一

2.readAsArrayBuffer() 方法用于启动读取指定的 Blob 或 File 内容。当读取操作完成时,readyState 变成 DONE(已完成),并触发 

在Vue前端实现导入Excel表格并在线预览,通常需要借助一些JavaScript库,如`xlsx`(处理Excel文件)、`vue-excel-importer`(用于上传和解析)以及`vue-xlsx-viewer`(展示预览)。以下是简单的步骤: 1. 安装依赖:首先,在项目中安装所需库,可以使用npm或yarn: ```bash npm install axios xlsx vue-excel-importer vue-xlsx-viewer # 或者 yarn add axios xlsx vue-excel-importer vue-xlsx-viewer ``` 2. 导入组件:在Vue组件中引入相关的JSX视图: ```javascript import { ExcelUploader, XLSXViewer } from 'vue-excel-importer'; import XLSX from 'xlsx'; ``` 3. 组件配置:创建一个Vue组件,并配置Excel上传和预览功能: ```html <template> <div> <ExcelUploader ref="excelUploader" @upload="handleUpload"/> <XLSXViewer :sheetData="sheetData" @open="openSheet" /> </div> </template> <script> export default { components: { ExcelUploader, XLSXViewer, }, data() { return { sheetData: null, }; }, methods: { handleUpload(file) { const workbook = XLSX.read(file.content, { type: 'binary' }); this.sheetData = XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]]); }, openSheet(sheetName) { // 这里可以根据sheetName显示对应的json数据 }, }, }; </script> ``` 4. 用户交互:允许用户选择文件并触发上传事件: ```html <input type="file" @change="uploadFile($event)" accept=".xls,.xlsx"> ``` 5. 文件读取错误处理:为了更健壮地处理可能出现的问题,添加适当的错误处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值