之以是选择用PHP来搞EXCEL,除了客不雅观需求,以及对很多人顺手,更大的情由是由于我们的EXCEL事情与统统息息相关,利用PHP我们才可以带它通天入地,无所不及。(才可能带她通天入地,无所不及……!
)
有些自动化哀求,比如很正常的情形是某些表些格统计后她要邮件给指定人,乃至分外数据,要QQ或微信关照某些人,这都是我们PHP可以做到的(详细方法在收到强烈哀求后会优先考虑教授)。
本日有这么一位妹子,除了眼睛大鼻子高,喜好开车以及长的可爱以外,有两个需求非常范例:
她每周要汇总采购们给她的价格报表,第一要录到系统里,第二要整合成一张表发给爱笑的胖领导。
录入
少年看你悟性这么高,录入这里大略给你点一下窍就得了。由于详细地说在上一篇文章刚讲过,如果你自付艺高人强,直接在本节让我点化过即罢,不然请大喊:“波若波罗密!
”并且同时点入以下链接,回溯到过往好好看看之前的分缘:
用PHP撩妹必会技能:妹子我帮你把EXCEL自动化!
上手指南
(这一段别看)憋住气大略说啊,便是撩妹的冲劲,加高下载一个PHPExcel,然后将其包里的Classes放到项目,require那个PHPExcel.php。再然后调用PHPExcel_IOFactory::load()方法天生$excel工具,$excel调用getSheet(0)得到表,表调用getRowIterator()得到全部行的迭代器或getColumnIterator()得到全部列迭代器,个中任一行或列再调用getCellIterator()得到全部单元格子,任一格子调用getCalculatedValue()取值!
!
!
会啦 ?不会就喊波若波罗密然后点上边链接。
上边都做到往后,取到数据,接下来不过便是按字段写到库里,这步你不会?私下联系我。。QQ群:598394989!
我们已经将单元格内的数据按行或列取出,整合嘛,便是通过须要打算放到一个新的数组(你想建个类来放也罢)。
重点在如何导出为新表,新的EXCEL文件!
!
下面和我做
我们从零开始写点数据,天生一个表
1.第一步别忘了插入PHPExcel.php
require_once 'Classes/PHPExcel.php'; //不引入下载的插件?
2.先要用new PHPExcel()假装天生一个Excel,用它代表那还未天生的,将要天生的文件:
$excel = new PHPExcel(); //我便是你工具了,身份很厉害,Excel文件哦,只是还没天生
3.然后咱们,要给这个文件$Excel添张表,一个文件里可以有多张表啊不是吗?setActiveSheetIndex(0)是说,设定当前要弄的表是第0张表,如果没有,就添加一张。
$当前表=$excel->setActiveSheetIndex(0); //不但天生了这个婊,我还要保存给变量,方便一下子操(捂脸)作
4.有表了,直接添加数据到某座标就好
$当前表->setCellValue('A1', '姓名'); //在第一行第一列加了一个“姓名”
5.更多添加数据,我们也可以在一行连着写,叫链式操作(缘故原由是,该方法的返回即是那个$当前表)
$当前表->setCellValue('C1', '身份')->setCellValue('A3', '特朗普')
->setCellValue('C3', '美国总统'); //一个箭头连一个箭头,这彷佛锁链
6.创建一个专门把$excel工具变成真正文件的转换器,转换器放入刚做好的文件$excel,第二个参数描述我们要天生的文件格式:
$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); //由于从2007版的office后缀名及格式开始修正,以是Excel2007便是后缀名xlsx
注,如果写'Excel5',是2003及以前的旧格式,xls后缀
7.调用转换器的save命令,给他一个路径和名称,天生成功。以下运行后在php文件同目录天生:
$objWriter->save('textBook.xlsx');//后缀名还得写?是的,格式和后缀名的关系还要麻烦你把稳了
本节完全代码<?php
require_once 'Classes/PHPExcel.php'; //不引入下载的插件,不插何生 成?!
$excel = new PHPExcel(); //我便是你工具了,身份很厉害,Excel文件哦,只是还没天生
$当前表=$excel->setActiveSheetIndex(0); //不但天生了这个婊,我还要保存给变量,一下子操(捂脸)作
$当前表->setCellValue('A1', '姓名'); //在第一行第一列加了一个“姓名”
$当前表->setCellValue('C1', '身份')->setCellValue('A3', '特朗普')
->setCellValue('C3', '美国总统'); //一个箭头连一个箭头,这彷佛锁链
$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); //由于从2007版的office后缀名及格式开始修正,以是Excel2007便是后缀名xlsx
$objWriter->save('textBook.xlsx');//后缀名还得写?是的,格式和后缀名的关系还要麻烦你把稳了
完没完?
还想要更深入的,支持我我就写下去。
支持我:点赞,或者转载更好!
或者我就写别的了(掩面),想听啥也可以见告我,你的哥们儿瑞偶D老师
QQ群:598394989!