mvlabs / mvlabs-phpexcel
MvlabsPHPExcel是一个ZF2模块,允许使用PHPOffice/PHPExcel库轻松创建、修改和读取Excel文件(包括pdf、xlsx、odt)。
0.0.1
2016-06-07 16:43 UTC
Requires
- php: >=5.5
- phpoffice/phpexcel: 1.8.*
- zendframework/zendframework: ~2.5
This package is not auto-updated.
Last update: 2024-09-10 22:48:27 UTC
README
MvlabsPHPExcel是一个ZF2模块,允许使用PHPOffice/PHPExcel库轻松创建、修改和读取Excel文件(包括pdf、xlsx、odt)。
要求PHPExcel库
- PHP版本5.5.0或更高
- PHP扩展php_zip启用(如果需要PHPExcel处理.xlsx .ods或.gnumeric文件,则必需)
- PHP扩展php_xml启用
- PHP扩展php_gd2启用(可选,但要求精确列宽自动计算)
安装
使用composer
-
将其添加到您的
composer.json
$composer require liuggio/excelbundle
$ php composer.phar require mvlabs/mvlabs-phpexcel
-
现在运行命令下载MvlabsPHPExcel
$ php composer.phar update
安装后
-
在
application.config.php
文件中启用它。<?php return [ 'modules' => [ // ... 'MvlabsPHPExcel', ], // ... ];
使用方法
该模块注册了一个服务
-
名为
mvlabs.phpexcel.service
的服务允许您与Excel文件交互; -
创建新的工作簿:如果您想创建一个新的工作簿,只需将其作为新的PHPExcel对象实例化即可。
$phpExcelObject = $this->serviceLocator->get('mvlabs.phpexcel.service')->createPHPExcelObject();
- 从文件加载工作簿
$phpExcelObject = $this->serviceLocator->get('mvlabs.phpexcel.service')->createPHPExcelObject('myExcelFile.xls');
- 创建Excel2007并将其保存到文件
$myWriter = $this->serviceLocator->get('mvlabs.phpexcel.service')->createWriter($phpExcelObject, 'Excel2007'); $myWriter->save('myExcelFile.xls');
从控制器将excel文档作为响应渲染
public function testPHPExcelAction() { // I recommend constructor injection for all needed dependencies ;-) $this->phpExcelService = $this->serviceLocator->get('mvlabs.phpexcel.service'); $objPHPExcel = $this->phpExcelService->createPHPExcelObject(); $objPHPExcel->getProperties()->setCreator("Diego Drigani") ->setLastModifiedBy("Diego Drigani") ->setTitle("MvlabsPHPExcel Test Document") ->setSubject("MvlabsPHPExcel Test Document") ->setDescription("Test document for MvlabsPHPExcel, generated using Zend Framework 2 and PHPExcel.") ->setKeywords("office PHPExcel php zf2 mvlabs") ->setCategory("Test result file"); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'Hello') ->setCellValue('B2', 'world!') ->setCellValue('C1', 'Hello') ->setCellValue('D2', 'world!'); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A4', 'Miscellaneous glyphs') ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); $objPHPExcel->getActiveSheet()->setCellValue('A8',"Hello\nWorld"); $objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1); $objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true); $objPHPExcel->getActiveSheet()->setTitle('Mvlabs'); $objPHPExcel->setActiveSheetIndex(0); $objWriter = $this->phpExcelService->createWriter($objPHPExcel, 'Excel2007' ); $response = $this->phpExcelService->createHttpResponse($objWriter, 200, [ 'Pragma' => 'public', 'Cache-control' => 'must-revalidate, post-check=0, pre-check=0', 'Cache-control' => 'private', 'Expires' => '0000-00-00', 'Content-Type' => 'application/vnd.ms-excel; charset=utf-8', 'Content-Disposition' => 'attachment; filename=' . 'myTest.xls', ]); return $response; }
致谢
MvlabsPHPExcel基于出色的PHPOffice/PHPExcel库。MvlabsPHPExcel由mvlabs开发。