在实际工作中经常会遇到将数据导出到Excel这样的需求,对于php语言来说导出excel也不是什么难事,因为借助phpoffice之phpspreadsheet开源库可以轻松实现.有过导出EXCEL经验的人都知道在这个过程中最繁琐的莫过于创建和操纵excel单元格,涉及宽度,高度,边框,字体等等的设置.如果需要导出1000种不同格式和风格的excel表格,那将是开发人员的噩梦!
解决思路:
首先我们可以确定的是导出的excel到底长什么样子,例如:
excel导出模板示例
知道了导出excel的长相之后,以此为依据,生成"制造EXCEL模板"的源代码,也就是说依照导出excel的长相,编写代码生成器,代码生成器的终极目标就是输出源代码,输出的源代码运行之后可以生成EXCEL文件,输出的EXCEL文件就是我们最终要导出的EXCEL文件,例如:
excel代码生成器输出的源代码
这样我们就将写代码的任务交给计算机去完成了,完美解放自己的双手!
实践:
有了这个思路,那么接下来就是动手实现代码生成器.
分析excel导出模板的规律,可以将一般的EXCEL分为头部固定格式,中间动态数据填充,页尾注解这三个部分,那么我们就可以依据这些总结出来的规律来编写代码生成器工具了,例如:
代码生成器工具代码片段
有了代码生成器工具,那么相类似的EXCEL文件导出将不在话下.
总结:
在创建excel单元格并进行格式设定的时候,会导致程序执行速度慢,解决方案是设置默认样式,尽量少的调用样式设定函数.
将php执行时间设置为无限.
将php执行内存量加大.
phpspreadsheet开源库功能非常强大!几乎囊括了excel操作的方方面面,是PHP导出EXCEL的必备神器!