最近,在做公司的项目的时候,需要导出Excel文件以方便跟其他系统进行数据对接。我理所当然的想到了PHPExcel
,然后我就去找插件包,结果发现
emmmmmm,好吧,那我们来研究下这个PhpSpreadsheet
ps:研究之前我先把一些有关链接发出来
Github地址:https://github.com/PHPOffice/PhpSpreadsheet 官方文档:https://phpspreadsheet.readthedocs.io/en/latest/
官方API文档:https://phpoffice.github.io/PhpSpreadsheet/master/ Gitter社区:https://gitter.im/PHPOffice/PhpSpreadsheet Stackoverflow社区:https://stackoverflow.com/questions/tagged/phpspreadsheet
首先,composer
下载插件包,至于如何安装并使用composer
,麻烦移步baidu
,google
;
composer require phpoffice/phpspreadsheet
首先我引入文件
因为我是读一张原表并且填入数据生成新表,所以我这边没有什么太多的结构层改变,仅仅引用三个文件就行 ```php namespace common;use \PhpOffice\PhpSpreadsheet\Reader\IReader; use \PhpOffice\PhpSpreadsheet\Writer\IWriter; use \PhpOffice\PhpSpreadsheet\IOFactory;
然后我先导入默认的表
```php
//因为生成excel文件会消耗大量的内存资源,为了防止超时未完成,特意把运行时间的限制关掉
set_time_limit(0);
//默认表文件路径
$readFileName = dirname(dirname(__FILE__)).'/commonFile/main.xls';
//读取表
$spreadsheet = IOFactory::load($readFileName);
//选择Excel文件中的活动表
$worksheet = $spreadsheet->getActiveSheet();
//当然如果多sheet的Excel文件也可以用getShee($key) 来获取活动表 比如这样:这个$key就是sheet的索引
//$worksheet = $spreadsheet->getSheet(2);
写入数据并保存文件
```php //在这里介绍两种写入方式,第一种简单的getCell获取坐标,setValue设置参数 $worksheet->getCell('A1')->setValue('hello,'); $worksheet->getCell('A2')->setValue('world!');//第二种是一个函数多参数setCellValueExplicit($Coordinate,$value,$dataType)
//第一个Coordinate是单元格坐标,第二个$value是值,第三个是显示的数据类型
$worksheet->setCellValueExplicit('A3','13732174321',\PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
保存文件
```php
//把文件参数给到createWriter函数的第一个参数,第二个参数是代表保存的文件格式
$writer = IOFactory::createWriter($spreadsheet,'Xls');
$writer->save(dirname(dirname(dirname(dirname(__FILE__)))).'/public/orderxls/test.xls');
ok,当走完最后一步,你就会发现在你的服务器中生成了一张名为test的Excel表,就是这么简单!
本文为ctexthuang原创文章,转载请注明来自ctexthuang_blog
逛逛
so?
这居然还有邮件通知 emm 还不错喔 更新鸭
必须的,不是么。还有微信通知呢。不过是通知我的
6 皮 流弊坏 了
哈哈哈哈