tp5.1/thinkPHP5.1/TP5.1 composer安装和使用PHPExcel
2018-03-26 12:46
706 查看
一.windows本地环境composer安装PHPExcel
首先:下载安装composer
其次 cmd切换到项目根目录 运行命令:composer require phpoffice/phpexcel
注意:
1.运行可能会报错OpenSSL之类的 去php.ini中开启extension=php_openssl.dll扩展,去掉分号
2.还有可能出现 找不到匹配的包的错误,这是因为我本地用的phpstudy的nts版本,这个版本比较特殊同时支持apache和nginx,只是本地虚拟环境开发测试用的PHP版本,所以匹配不到,应该切换正常版本在运行命令安装
3.composer只支持php5.6以上版本
出现下图说明已经安装成功了
二、使用phpexcel
composer安装的phpexcel
只需要在头部use PHPExcel;
然后创建一个对象$objExcel = new \PHPExcel();
这样就可以使用了
三、
我直接封装了一个方法,只需要把要导出的数据的数组传进来,然后改一些字段和文案就可以了
function daysales_excel($driver){
//导出表格
$objExcel = new \PHPExcel();
$objWriter = \PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');
// 设置水平垂直居中
$objExcel->getActiveSheet()->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objExcel->getActiveSheet()->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
// 字体和样式
$objExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10);
$objExcel->getActiveSheet()->getStyle('A2:AB2')->getFont()->setBold(true);
$objExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
// 第一行、第二行的默认高度
$objExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30);
$objExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(20);
//设置某一列的宽度
$objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
$objExcel->getActiveSheet()->getColumnDimension('D')->setWidth(10);
$objExcel->getActiveSheet()->getColumnDimension('E')->setWidth(5);
$objExcel->getActiveSheet()->getColumnDimension('F')->setWidth(30);
$objExcel->getActiveSheet()->getColumnDimension('G')->setWidth(30);
$objExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
首先:下载安装composer
其次 cmd切换到项目根目录 运行命令:composer require phpoffice/phpexcel
注意:
1.运行可能会报错OpenSSL之类的 去php.ini中开启extension=php_openssl.dll扩展,去掉分号
2.还有可能出现 找不到匹配的包的错误,这是因为我本地用的phpstudy的nts版本,这个版本比较特殊同时支持apache和nginx,只是本地虚拟环境开发测试用的PHP版本,所以匹配不到,应该切换正常版本在运行命令安装
3.composer只支持php5.6以上版本
出现下图说明已经安装成功了
二、使用phpexcel
composer安装的phpexcel
只需要在头部use PHPExcel;
然后创建一个对象$objExcel = new \PHPExcel();
这样就可以使用了
三、
我直接封装了一个方法,只需要把要导出的数据的数组传进来,然后改一些字段和文案就可以了
function daysales_excel($driver){
//导出表格
$objExcel = new \PHPExcel();
$objWriter = \PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');
// 设置水平垂直居中
$objExcel->getActiveSheet()->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objExcel->getActiveSheet()->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
// 字体和样式
$objExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10);
$objExcel->getActiveSheet()->getStyle('A2:AB2')->getFont()->setBold(true);
$objExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
// 第一行、第二行的默认高度
$objExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30);
$objExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(20);
//设置某一列的宽度
$objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
$objExcel->getActiveSheet()->getColumnDimension('D')->setWidth(10);
$objExcel->getActiveSheet()->getColumnDimension('E')->setWidth(5);
$objExcel->getActiveSheet()->getColumnDimension('F')->setWidth(30);
$objExcel->getActiveSheet()->getColumnDimension('G')->setWidth(30);
$objExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
//设置表头 // 合并 $objExcel->getActiveSheet()->mergeCells('A1:I1'); $objActSheet = $objExcel->getActiveSheet(0); $objActSheet->setTitle('用户统计');//设置excel的标题 $objActSheet->setCellValue('A1','日销售额统计'); $objActSheet->setCellValue('A2','标的名称'); $objActSheet->setCellValue('B2','标的金额'); $objActSheet->setCellValue('C2','标的利率(%)'); $objActSheet->setCellValue('D2','标的上线时间'); $objActSheet->setCellValue('E2','募集天数'); $objActSheet->setCellValue('F2','实际募集金额(元)'); $objActSheet->setCellValue('G2','超过部分'); $objActSheet->setCellValue('H2','融资人'); $baseRow = 3; //数据从N-1行开始往下输出 这里是避免头信息被覆盖 foreach ( $driver as $r => $d ) { $i = $baseRow + $r; $objExcel->getActiveSheet()->setCellValue('A'.$i,$d['title']); $objExcel->getActiveSheet()->setCellValue('B'.$i,$d['amount']); $objExcel->getActiveSheet()->setCellValue('C'.$i,$d['user_interest_rate']); $objExcel->getActiveSheet()->setCellValue('D'.$i,$d['start_time']); $objExcel->getActiveSheet()->setCellValue('E'.$i,''.$d['duration_collect']); $objExcel->getActiveSheet()->setCellValue('F'.$i,$d['daysales_amount']); $objExcel->getActiveSheet()->setCellValue('G'.$i,$d['amount']-$d['daysales_amount']); $objExcel->getActiveSheet()->setCellValue('H'.$i,$d['debit_name']); }
$objExcel->setActiveSheetIndex(0); //4、输出 $objExcel->setActiveSheetIndex(); header('Content-Type: applicationnd.ms-excel'); $time=date('YmdHis'); header("Content-Disposition: attachment;filename=用户统计$time.xls"); header('Cache-Control: max-age=0'); $objWriter->save('php://output'); }
相关文章推荐
- composer在thinkphp中的安装和使用
- windows下使用composer安装thinkPHP5
- windows环境下使用Composer安装ThinkPHP5
- 使用Composer安装最新Laravel和thinkphp5
- ThinkPHP中使用PHPExcel导出Excel
- ThinkPHP使用PDO方式连接数据库之PDO的介绍与安装,开发环境是PHP5
- 在 Win 7 下使用 VirtualBOX 虚拟机安装 OS X 10.8 Mountain Lion 及 XCode 4.4.1 (iOS SDK5.1) 作开发
- ESXI 5.1下载-安装-使用
- thinkphp中使用PHPExcel生成文件的一个通用方法!
- 在CentOs 5.1中使用rpm安装NGINX+php+mysql(二)
- ThinkPHP使用phpExcel实现Excel数据的导入导出
- 使用U盘安装 VMware ESXi 5.1
- 使用Composer安装Yii(win7)
- Windows下使用composer安装Laravel框架卡住,解决方案
- redhat5.1上安装oracle 10.2g客户端及配置使用
- ThinkPHP中使用PHPExcel导入Excel
- 在CentOs 5.1中使用rpm安装NGINX+php+mysql
- 编译安装mysql 5.1使用utf8解决乱码问题
- 使用 VMware 在 Linux 5.1 上安装、升级及维护 Oracle 10gR2 RAC
- ThinkPHP3.1.3安装rbac示例使用中出现的一些错误