Excel导入、Excel导出是一对好兄弟,经常成双成对出现。所以,在封装了Excel导出方法 —— 《用xlsx-style玩转Excel导出——拿走即用的Excel导出方法封装》后,今天我们来封装一下Excel导入。
Excel导入的封装和Excel导出的封装不太一样,Excel导出是纯js封装的,但是Excel导入的封装可能是组件级别的封装。
一、 安装依赖
在正式开始封装之前,我们需要先安装xlsx。这个插件,能够方面我们将导入的文件,处理成我们需要的数据。
安装后,在需要使用的地方引入即可。
二、上传文件
因所做的涉及到Excel批量导入的项目,都是基于Vue+Element的,所以直接选用了Element的el-upload组件实现文件上传功能,如下:
三、处理文件
文件上传后,我们获取到导入的Excel文件,然后进行如下处理:
- 通过new FileReader()读取文件
- 将读取结果通过XLSX.read()方法转换成工作簿对象
- 处理工作簿对象,获取有效的目标数据
四、处理数据
经过上述步骤,我们获取到目标数据,接下来,在父组件里对数据进行进一步处理和操作。
因数据具体如何处理,需要根据项目需求和后端要求而定,所以未将数据在BatchImport组件内进行处理,而是选择暴露出来在父组件内处理。