PHP 如何操作 Excel
很多人在做网站或者小程序的时候,都会遇到需要导出数据、统计表格的需求,比如商家要导出月度订单、老师要导出学生成绩,这时候用PHP就能轻松搞定。很多新手刚接触时会觉得“操作Excel是专业软件做的事,代码能行吗?”其实只要用对工具,普通的表格操作完全不用复杂的代码,甚至比手动调整还省心。
先选对工具,别自己写代码
很多新手会想着“我自己用循环拼表格内容,再输出成Excel文件”,结果容易出现格式乱、内容溢出的问题,还得花时间处理兼容。其实PHP有现成的工具包,最常用的就是PhpSpreadsheet,它就像一个“虚拟Excel软件”,帮你自动处理单元格、格式、公式这些细节,不用自己从零写逻辑。

举个生活化的例子:你要给部门同事发月度考勤表,要是自己用Excel做,得新建文件、填表头、加颜色、拉公式算加班时长;用PhpSpreadsheet就相当于你对着电脑说“帮我做一张考勤表,表头写‘姓名’‘迟到次数’,A1单元格合并,B列加浅灰色背景”,工具会自动帮你把这些动作做完,你只需要填内容就行。
简单操作三步走,新手也能上手
用PhpSpreadsheet操作Excel,其实就像平时用Excel的三个步骤:新建表格、填内容、导出文件,对应到代码里也很直白,哪怕是没怎么写过代码的人也能看懂。
第一步是安装工具。现在用Composer就能一键装,就像你用手机应用商店下APP,只需要在命令行输一行代码,等几秒就装好,不用再找什么压缩包、改配置,省了很多麻烦。
第二步是填内容和做基础格式。比如要做学生成绩表,先告诉工具“我要建一个工作表”,然后把表头“学号”“姓名”“语文”“数学”这些填进去,再把每个学生的成绩对应填到单元格里。要是想给表头加粗,或者给90分以上的单元格标成绿色,也不用复杂的命令,就像你在Excel里点一下“加粗”按钮,工具只需要一句简单的设置就能搞定。
这里有个容易踩的小坑:很多人会把单元格写成A1、B2这种格式,要是数据多了,很容易搞混位置,就像你在本子上乱标页码找不到内容。其实可以用“列名+行号”的数组形式填,比如给第3行第1列(对应A3)填学号,就写$sheet->setCellValueByColumnAndRow(1, 3, '2024001'),这样哪怕有几十条数据,也不会填错位置。
第三步是导出文件。填完内容后,直接告诉工具“导出成Excel格式就行”,工具会自动生成能打开的.xlsx文件,你可以直接下载,或者存到服务器里给别人查看。要是需要导出成旧版本的.xls,也只需要改一行参数,不用重新写一套逻辑。
除了导出,还能做啥实用操作?
除了最常用的导出数据,PhpSpreadsheet还能做很多贴合日常需求的事。比如你要导入别人发的Excel文件,把里面的订单数据存到网站的数据库里,不用手动复制粘贴,只要写几行代码就能自动读表格里的内容,批量存到系统里,省了大半天的重复工作。
还有就是处理格式,比如给表格加边框、设置列宽,或者用公式自动算总分、平均分,就像你在Excel里用=SUM()公式一样,工具能识别公式,不用手动计算。比如你要算每个学生的总分,只需要给单元格加一句公式,工具导出后打开就能直接看到结果,不用再手动算一遍。
其实PHP操作Excel的核心,就是用现成的工具解决重复劳动,不用再像以前那样靠手动拼代码,把复杂的格式和兼容问题交给工具处理,你只需要专注于要填的内容。不管是做网站的导出功能,还是处理批量数据,用对方法就能把原本要几小时的工作,压缩成十几分钟就能完成的事。