目录
一、背景描述
有些业务常见,例如前端已经获取到表格的所有数据了,并且后端技术人员比较繁忙,总会提出前端分页,前端排序,甚至前端导出数据为excel的需求,所以这个文章就记录一下这个功能怎么实现。实现的功能:导出表格的数据为Excel或cvs,并且前端分页加排序。(不引入第三方库实现导出功能)
二、功能分析
不引入第三方库,所以就前端生成Excel并导出。
前端生成 Excel 文件的方式:首先获取表格数据内容,并对表头进行处理,以确保没有额外的空白单元格。然后,它构建了一个包含表格内容的 HTML 文件,其中包括 Excel 文件所需的一些元信息和样式。接下来,它将该 HTML 文件转换为 Blob 对象,然后通过创建链接并触发下载的方式,实现了文件的下载。
分页排序就比较简单了,只要复制一份表格数据,处理并展示这个数据就行,原始的数据可以用于导出数据。
如下:
三、详细开发
1.导出为excel
首先需要一个表格和导出按钮,如下:
<el-col :span="4" >
<el-button type="primary" @click="exportToExcel">导出</el-button>
</el-col>
<el-table
:data="sortedAndPaginatedVerificationTableData"
stripe
border
ref="tableRef"
@sort-change="handleSortChange"
>
<el-table-column prop="age" label="年龄" width="150" sortable>
</el-table-column>
<el-table-column prop="status" label="状态" width="120" sortable>
</el-table-column>
<el-table-column
prop="message"
label="信息"
sortable
>
</el-table-column>
</el-t