前端导出 excel 遭遇无单元格困境
在项目开发中,经常需要下载模板或导出表单数据为 excel 格式。虽然 xlsx 库可以满足基本需求,但样式定制困难。因此,开发者考虑自行封装一个导出组件。
封装着重将 excel 与表格关联:
<table> <thead> <tr> <th style="background-color: pink">姓名</th> <th style="background-color: pink">年龄</th> <th style="background-color: pink">职位</th> </tr> </thead> <tbody> <tr> <td>张三</td> <td>28</td> <td>工程师</td> </tr> <tr> <td>李四</td> <td>35</td> <td>医生</td> </tr> <tr> <td>王五</td> <td>22</td> <td>学生</td> </tr> </tbody> </table>
连接桥梁为 new blob() 构造函数:
const blob = new Blob([tableDomString], { type: "application/vnd.ms-excel" });
虽然可以成功生成 excel 文件,但样式无法满足需求,例如新增行或列时出现问题。开发者希望能够实现可编辑的单元格。
立即学习“前端免费学习笔记(深入)”;
经过一番探索,开发者推荐 exceljs,一款功能强大的前端 excel 库。
- exceljs 是一款首屈一指的解决方案。
- 样式定制非常简单。
- 无需对代码进行繁琐的改动。