PHPExcel Excel读写库
Excel 的需求挺常见的,用 PHP 写后端的话,PHPExcel确实是个老牌好用的库。它能让你在 PHP 里轻松读写 Excel,改单元格、加公式、画图表都不在话下,像在 Excel 里点点点那样方便。虽然项目已经停更,但多老项目还在用,社区资源也挺多,遇到问题也容易找到解法。
安装配置方面也简单,直接用 Composer 装一下:composer require phpoffice/phpexcel
,require_once 'vendor/autoload.php'
就能用了。代码结构也不复杂,熟悉下几个核心类:PHPExcel
、Worksheet
、Cell
就差不多能上手了。
新建 Excel 文件也就几行代码的事,用new PHPExcel()
建个工作簿,加几个工作表,像$sheet = $objPHPExcel->createSheet()
这样搞。读文件就用PHPExcel_IOFactory::load()
,支持 XLS 和 XLSX。
操作单元格也挺直观,setCellValue()
改值,getCell()
查值。比如你要把 A1 改成“Hello”,就写$sheet->setCellValue('A1', 'Hello')
,是不是蛮顺手的?还支持公式,写=SUM(A1:A5)
这种直接塞进去就行。
格式方面也有不少细节能控制,像字体、颜色、边框啥的都能搞。用getStyle()
拿到单元格样式,applyFromArray()
一套配置贴上去,方便。
想导出文件?用PHPExcel_IOFactory::createWriter()
,格式可以选Excel2007
、CSV
等,写入文件或直接输出给浏览器都行。
比如:
$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$writer->save('report.xlsx');
性能方面也别大意,大表格最好打开setUseDiskCaching()
,内存压力小点。要释放资源就disconnectWorksheets()
,能省一截内存。
哦对了,PHPExcel虽然挺好用,但它已经不再维护了。现在官方推荐的是它的继任者PhpSpreadsheet,用法和结构也差不多。如果你要做新项目,建议直接上 PhpSpreadsheet,更新快,兼容性也更好。
如果你现在在维护老系统,又得 Excel,那PHPExcel还是个不错的选择。文档全、例子多、上手快,用起来还是爽的。
评论区