【原】PHPExcel导出Excel
1.引入相关公共库PHPExcel
2.编写公共函数
public function exportExcel($excelTitle,$data,$filename='',$column_width=''){
ini_set('max_execution_time', '');
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/download");
$filename=str_replace('.xls', '', $filename).'.xls';
header('Content-Disposition: attachment;filename='.$filename);
Vendor('PHPExcel.PHPExcel');
$phpexcel = new PHPExcel();
$phpexcel->getActiveSheet()->setTitle('Sheet1'); $key = ; //设置表头
foreach($excelTitle as $v){
$colum = \PHPExcel_Cell::stringFromColumnIndex($key);
$phpexcel->setActiveSheetIndex() ->setCellValue($colum.'', $v);
$key += ;
}
$column = ;
$objActSheet = $phpexcel->getActiveSheet(); foreach($data as $key => $rows){ //行写入
$span = ;
foreach($rows as $keyName=>$value){// 列写入
$j = \PHPExcel_Cell::stringFromColumnIndex($span);
$objActSheet->setCellValue($j.$column, $value);
$span++;
}
$column++;
} //设置字体格式及大小
$phpexcel->getDefaultStyle()->getFont()->setName( '微软雅黑');
$phpexcel->getDefaultStyle()->getFont()->setSize(); //第一行设置填充的样式和背景色
$currentColumn = 'A';
for ($i = ; $i <= count($excelTitle); $i++) {
$a[] = $currentColumn++;
}
$last = $a[(count($a) -)]."";
$phpexcel->getActiveSheet()->getStyle( "A1:$last")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$phpexcel->getActiveSheet()->getStyle( "A1:$last")->getFill()->getStartColor()->setARGB('#458B00'); //设置单元格内容居左显示
//$phpexcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
$phpexcel->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
$phpexcel->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY); //设置列宽度
if(!empty($column_width)){
foreach($column_width as $key => $value){
$phpexcel->getActiveSheet()->getColumnDimension($key)->setWidth($value);
}
} $objwriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel5');
$objwriter->save('php://output');
exit;
}
3.调用公共函数即可
$excelTitle = array("提测单名称","BUG统计周期","BUG_TOTAL","ASSIGNED","REOPENED","RESOLVED","VERIFIED","CLOSED");
foreach ($retSearchStatusList as $excelExport){
$excelExports['A'] = $excelExport['A'];
$excelExports['B'] = $dateFrom."至".$dateTo;
$excelExports['C'] = $excelExport['C'];
$excelExports['D'] = $excelExport['D'];
$excelExports['E'] = $excelExport['E'];
$excelExports['F'] = $excelExport['F'];
$excelExports['G'] = $excelExport['G'];
$excelExports['H'] = $excelExport['H'];
$list[] = $excelExports;
}
$filename = "文件名称-".date('Y-m-d H-i-s');
$column_width = array("A"=>,"B"=>);
$exportExcel = $excelUtil->exportExcel($excelTitle,$list,$filename,$column_width);
【原】PHPExcel导出Excel的更多相关文章
- PHPExcel导出excel文件
今天园子刚开,先来个货顶下,后续园丁qing我会再慢慢种园子的,希望大家多来园子逛逛. PHPExcel导出excel文件,先说下重要的参数要记住的东西 impUser() 导入方法 exportEx ...
- phpExcel导出excel加超级链接的实例代码[转]
phpexcel实现的导出excel文件的代码,且可以在excel文件中加入超级链接. 说明:PHPExcel的开发包Tests目录有详细使用实例.以下代码支持中文,注意文件编码,文件保存为utf-8 ...
- 应用phpexcel导出excel文件后打不开的问题解决方法
应用phpexcel导出excel文件后打不开,提示“文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配”. 试了以下方法: 1.首先区分文件格式是2003,还是2007. 参 ...
- phpexcel 导出excel无法打开,提示文件格式或文件名无效,文件损毁,解决办法
使用过很多次phpexcel了,有时需要保存文件到磁盘,有时需要浏览器弹出下载.保存到磁盘一半不会出现问题,关键是浏览器弹出保存,经常会发生导出的excel文件无法打开,提示文件格式或文件名无效,文件 ...
- Yii框架中使用PHPExcel导出Excel文件
最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法: 1.首先在config\main.php中添加对PHPExcel的引用,我的方式是这样: 1 2 3 4 ...
- Yii中使用PHPExcel导出Excel
最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法: 1.首先在config/main.php中添加对PHPExcel的引用,我的方式是这样: // auto ...
- PHPExcel导出excel
如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312: $yourStr = mb_convert_encoding("g ...
- PHPExcel导出excel表格
if(!function_exists('exportExcel')){ //导出excel文件 function exportExcel($datas, $save_method='ht ...
- 利用PHPExcel导出excel 以及利用js导出excel
导出excel的方法output_excel需要依赖PHPExcel 导出csv的方法csv_export不需要 <?php /** * @author ttt */ class ExcelCo ...
- 关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法
上次在开发一个项目时,用到PHPExcel导出数据,其中有导出身份证等长串数字时导出的Excel中显示为科学计数方式. 这种显示很不人性化而且量多了修改起来也很麻烦. 这是因为Excel处理数字里默认 ...
随机推荐
- LeetCode 359. Logger Rate Limiter (记录速率限制器)$
Design a logger system that receive stream of messages along with its timestamps, each message shoul ...
- SOA究竟是个啥
SOA(Service-Oriented Architecture),中文全称:面向服务的架构. SOA让把系统分离成不同的服务,使用接口来进行数据交互,终于达到整合系统的目的. 专业的词总是让人懵懵 ...
- Oracle执行存储过程报错——ora-01031:权限不足
执行DDL报错 在oracle存储过程中,默认是可以直接执行DML和DQL的,但是执行CREATE这种的DDL则需要借助EXECUTE IMMEDIATE 如: create or replace p ...
- 20170623_oracle备份和恢复_常见问题
1 为什么需要备份?备份分类? 1)故障.迁移.误操作 2)备份分类: 物理与逻辑角度:物理备份.逻辑备份 备份策略角度:完全备份.增量备份.差异备份 2 使用导入导出进行备份和恢复及其四种模式:其他 ...
- How to create a random UUID in each Request's Headers
${=java.util.UUID.randomUUID()} is OK
- JAVA不让类实例化的方法
虽然java是面向对象编程,但也要尽可能避免创建不必要的对象,因为创建过多的对象不仅占用系统资源,而且多了很多不必要的创建销毁对象开销. 那么有哪些避免类创建对象的方法吗? 1,定义私有构造函数.这在 ...
- bzoj1494
这道题不仅得看俞华程的论文,还得看陈丹琦的论文,否则是不可能做出来的.因为难点在构造矩阵上. 构造矩阵困难在如何表示状态,因为树不能有环,也不能不连通,这里我们引入了最小表示法来表示连续k个点的连通性 ...
- PCB CS架构(工程系统)实现单点登入方法
社会的不断进步发展,分工也越来越细了.而我们工作接触的范围也越来越狭小了,但这不是倒退了,而是分工之细让人们在各个方面深耕细作.PCB企业软件系统发展路线同样也如此,随着我们PCB企业发展不断壮大,软 ...
- Euclid(几何)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2831 题意:已知A,B,C,D,E,F的坐标, ...
- codevs1993 草地排水(最大流)
1993 草地排水 USACO 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在农夫约翰的农场上,每逢下雨,Bes ...