0

0

利用PHPExcel将数据导出到xls格式的excel文件_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:15:18

|

1096人浏览过

|

来源于php中文网

原创

绘蛙AI修图
绘蛙AI修图

绘蛙平台AI修图工具,支持手脚修复、商品重绘、AI扩图、AI换色

下载

利用PHPExcel将数据导出到xls格式的excel文件

在开发某地的经营许可证管理系统的时候需要将数据导出打excel文件,虽然一年前做某集团的ERP的时候用到过一次导入和导出,但是那时候太忙没时间写博客,一年过去了我也忘的差不多了,所以趁着今天将此次的使用写到博客中,作为以后开发的一个参考,免得再次使用的时候需要导出找资料,也给其他同行一个参考。作者:DragonDean,博客地址:http://www.cnblogs.com/dragondean/
 
什么是PHPExcel?
PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
下载PHPExcel
phpexcel的官方网站地址是:http://phpexcel.codeplex.com/,我们可以从中下载需要的文件。我下载的是1.8的版本。下载之后将他解压到网站的根目录。
 
开发背景说明
此次开发是使用的ThinkPHP框架,根据查询的条件导出所有的内容。另外有一个导入的功能,我将另外撰文。更详细的说明请参考代码部分的注释。
 
导出部分的代码如下:
复制代码
//导入相关文件
require_once $_SERVER['DOCUMENT_ROOT'].'/PHPExcel/Classes/PHPExcel.php';
//实例化
$phpexcel = new PHPExcel();
//设置比标题
$phpexcel->getActiveSheet()->setTitle('毅创科技 提示技术支持');
//设置表头
$phpexcel->getActiveSheet() ->setCellValue('A1','餐证字')
                            ->setCellValue('B1','单位名称')
                            ->setCellValue('C1','法定代表人')
                            ->setCellValue('D1','城市')
                            ->setCellValue('E1','地区')
                            ->setCellValue('F1','地址')
                            ->setCellValue('G1','类别')
                            ->setCellValue('H1','备注(经营范围)')
                            ->setCellValue('I1','发证机关')
                            ->setCellValue('J1','起始日期')
                            ->setCellValue('K1','终止日期')
                            ->setCellValue('L1','食品安全管理人')
                            ->setCellValue('M1','是否执证')
                            ->setCellValue('N1','发证日期')
                            ->setCellValue('O1','联系电话')
                            ->setCellValue('P1','使用面积')
                            ->setCellValue('Q1','从业人员数')
                            ->setCellValue('R1','变更情况')
                            ->setCellValue('S1','持证情况')
                            ->setCellValue('T1','所属监管科室');
//从数据库取得需要导出的数据
$list=$db->where($where)->select();
//用foreach从第二行开始写数据,因为第一行是表头
$i=2;
foreach($list as $val){
    $phpexcel->getActiveSheet() ->setCellValue('A'.$i,'吉'.$val['czz_nian'].$val['czz_hao'])
                            ->setCellValue('B'.$i, $val['danwei'])
                            ->setCellValue('C'.$i, $val['faren'])
                            ->setCellValue('D'.$i, $val['dz_chengshi'])
                            ->setCellValue('E'.$i, $val['dz_diqu'])
                            ->setCellValue('F'.$i, $val['dizhi'])
                            ->setCellValue('G'.$i, $val['leibie'])
                            ->setCellValue('H'.$i, $val['beizhu'])
                            ->setCellValue('I'.$i, $val['fazheng'])
                            ->setCellValue('J'.$i, $val['qs_nian'].'-'.$val['qs_yue'].'-'.$val['qs_ri'])
                            ->setCellValue('K'.$i, $val['zz_nian'].'-'.$val['zz_yue'].'-'.$val['zz_ri'])
                            ->setCellValue('L'.$i, $val['anquan'])
                            ->setCellValue('M'.$i, $val['zhizheng'])
                            ->setCellValue('N'.$i, $val['fz_nian'].'-'.$val['fz_yue'].'-'.$val['fz_ri'])
                            ->setCellValue('O'.$i, $val['dianhua'])
                            ->setCellValue('P'.$i, $val['shiyongmianji'])
                            ->setCellValue('Q'.$i, $val['renshu'])
                            ->setCellValue('R'.$i, $val['biangeng'])
                            ->setCellValue('S'.$i, $val['chizheng'])
                            ->setCellValue('T'.$i, $val['keshi']);
    $i++;
}
 
$obj_Writer = PHPExcel_IOFactory::createWriter($phpexcel,'Excel5');
$filename ='Export'. date('Y-m-d').".xls";//文件名
 
//设置header
header("Content-Type: application/force-download"); 
header("Content-Type: application/octet-stream"); 
header("Content-Type: application/download"); 
header('Content-Disposition:inline;filename="'.$filename.'"'); 
header("Content-Transfer-Encoding: binary"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Pragma: no-cache"); 
$obj_Writer->save('php://output');//输出
die();//种植执行
复制代码
导出的文件预览:
 
 
其他的相关属性设置参考(来源于网络资料)
复制代码
//设置文档基本属性       
$objProps = $phpexcel->getProperties();       
$objProps->setCreator("章贡区医疗保险局");       
$objProps->setLastModifiedBy("章贡区医疗保险局");       
$objProps->setTitle("章贡区医疗保险局职工月增减变动报表");       
$objProps->setSubject("章贡区医疗保险局职工月增减变动报表");       
$objProps->setDescription("章贡区医疗保险局职工月增减变动报表");       
$objProps->setKeywords("章贡区医疗保险局职工月增减变动报表");       
$objProps->setCategory("变动报表"); 
复制代码
PHPExcel如何合并/分离单元格
$objPHPExcel->getActiveSheet()->mergeCells('A18:E22'); 
$objPHPExcel->getActiveSheet()->unmergeCells('A18:E22'); 
PHPExcel如何设置列宽/行高
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); 
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12); 
$objPHPExcel->getActiveSheet()->getRowDimension(3)->setRowHeight(16); 
PHPExcel如何设置样式
复制代码
$objStyleA1 = $phpexcel->getActiveSheet()->getStyle('A1');       
$objStyleA1->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);   //设置水平对其
$objStyleA1->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);    //设置垂直对其
$objFontA1 = $objStyleA1->getFont(); 
$objFontA1->setName('宋体'); 
$objFontA1->setSize(18); $objFontA1->setBold(true);
复制代码
 
 
PHPExcel如何设置边框
复制代码
$objActSheet->getStyle('A2')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
$objActSheet->getStyle('A2')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
$objActSheet->getStyle('A2')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );   
$objActSheet->getStyle('A2')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );  
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300');//设置边框颜色
复制代码
更多资料请百度一下,如有问题欢迎指正!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/905597.htmlTechArticle利用PHPExcel将数据导出到xls格式的excel文件 在开发某地的经营许可证管理系统的时候需要将数据导出打excel文件,虽然一年前做某集团的ER...

相关专题

更多
vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

26

2025.12.30

金山文档相关教程
金山文档相关教程

本专题整合了金山文档相关教程,阅读专题下面的文章了解更多详细操作。

28

2025.12.30

PS反选快捷键
PS反选快捷键

本专题整合了ps反选快捷键介绍,阅读下面的文章找到答案。

25

2025.12.30

表格中一行两行的方法
表格中一行两行的方法

本专题整合了表格中一行两行的相关教程,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

cpu温度过高解决方法大全
cpu温度过高解决方法大全

本专题整合了cpu温度过高相关教程,阅读专题下面的文章了解更多详细内容。

5

2025.12.30

ASCII码介绍
ASCII码介绍

本专题整合了ASCII码相关内容,阅读专题下面的文章了解更多详细内容。

31

2025.12.30

GPS是什么
GPS是什么

本专题整合了GPS相关内容,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

wifi拒绝接入
wifi拒绝接入

本专题整合了wifi拒绝接入相关教程,阅读下面的文章了解更多详细方法。

9

2025.12.30

丰网速运介绍
丰网速运介绍

本专题整合了丰网速运查询入口以及相关内容,阅读专题下面的文章了解更多内容。

3

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.1万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

Excel 教程
Excel 教程

共162课时 | 10.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号