PHPExcel插件的使用1——基本数据导出
来源:互联网 发布:vb调用大漠 编辑:程序博客网 时间:2024/05/17 06:36
PHPExcel插件的使用1——基本数据导出
本文总结了phpexcel的简单数据导出.归纳了步骤,解释了方法.最后用实例写出了建立多个sheet情况下数据库的导出。插入图片,样式等等会在后期连载。不过一般导出之后处理样式会更加方便。
准备工作
1,下载phpexcel压缩包//前往http://phpexcel.codeplex.com/下载即可2,步骤:解压后将文件中Class文件夹{也就是核心代码}取出,放在www目录下。3,将Class文件夹下面的PHPExcel.php文件{相当于整个PHPExcel插件的入口}导入到需要代码执行页面。 例如: require_once "./PHPExcel.php";
导出文件
步骤及方法讲解
1,要调用phpexcel插件,必须要有一个对象来调用,所以第一步就是实例化PHPExcel类。 例如: $objPHPExcel = new PHPExcel();2,实例化对象之后,我们需要创建sheet 用到的方法: createSheet() //创建一个新的sheet setActiveSheetIndex() //设定sheet为当前的活动sheet getActiveSheet() //获取当前sheet的活动对象。用于操作sheet3,创建sheet之后,需要填充数据 用到的方法: setCellValue() //填充数据4,数据填充结束后进行保存 用到的方法: PHPExcel_IOFactory::createWriter() save();
实例demo
<?phpheader('content-type:text/html;charset=utf-8');$cur_dir = dirname(__FILE__);require_once './PHPExcel.php';//实例化phpexcel的入口类$PHPExcelObj = new PHPExcel();//获得当前sheet的操作对象$sheetObj = $PHPExcelObj->getActiveSheet();//给当前被操作的sheet取别名$sheetObj->setTitle('sheet1');//填充数据方法1/*-------------------------------------------------------------- //注意填充方法,A1,A2,…… 代表excel表格的行列坐标 $sheetObj->setCellValue('A1','NIU')->setCellValue('B1','Ngau'); $sheetObj->setCellValue('A2','SHAO')->setCellValue('B2','SHAO'); $sheetObj->setCellValue('A3','GANG')->setCellValue('B3','GANG');--------------------------------------------------------------*//*--------------------------------------------------------------//填充数据方法2 //数组的方式填充数据 $array = array( array(), //加入一个空数组,则会空出一行 array('a','b','c'), array(), array('d','e','f'), array(), array('g','h','i'), ); $sheetObj->fromArray($array);//填充数组到表格---------------------------------------------------------------*///给将要生成的excel文件定义版本,定义之后返回一个对象$writerObj = PHPExcel_IOFactory::createWriter($PHPExcelObj,'excel2007');//保存excel文件,指定路径和文件名输出$writerObj -> save($cur_dir.'/excelnamearr.xlsx');//输出当前文件夹,名为excelname1
过程总结
实例化入口类 $PHPExcelObj = new PHPExcel() --——>取得当前sheet操作,定义名字 $sheetObj = $PHPExcelObj->getActiveSheet() $sheetObj->setTitle('sheet1') ———>填充数据 两种方法 逐个添加:$sheetObj->setCellValue('coordinate','Value')…… 数组添加:$array = array(values); $sheetObj->fromArray($array); ————>定义版本 $writerObj = PHPExcel_IOFactory::createWriter($PHPExcelObj,'excel2007') ————>保存文件 $writerObj -> save($cur_dir.'/excelnamearr.xlsx');
注意
数组的输出比逐行输出用的内存大很多,非必要情况下,一般使用逐行输出
实际demo(创建多sheet)//查询数据库,输出到excel
<?phpheader('content-type:text/html;charset=utf-8');$cur_dir = dirname(__FILE__);require_once './PHPExcel.php';require_once './DatabaseOperate.class.php';$OpMysqlObj = new DatabaseOperate(0,0,0,0);//写0使用默认的配置//先查询出父类,方便后期建sheet$sql = "select c_id,c_fid,c_title from vr_class where c_fid = 0 order by c_addtime desc";$province = $OpMysqlObj->getAllArray($sql);//var_dump($province);$objPHPExcel = new PHPExcel();for($i=0;$i<count($province);$i++){ //建立多个sheets if($i!=0){ $objPHPExcel->createSheet(); } //多个sheet,从0开始 $objPHPExcel->setActiveSheetIndex($i); $sheetObj = $objPHPExcel->getActiveSheet(); $sheetname = $province[$i]['c_title'].'_'.$province[$i]['c_id']; $sheetObj->setTitle($sheetname); $OpMysqlObj1 = new DatabaseOperate(0,0,0,0); $sql1 = "select c_id as '城市号',c_fid as '归属省号',c_title as '城市名',c_describe as '城市描述', from_unixtime(c_addtime,'%Y-%M-%D %H:%I:%S')时间,if(c_status = 0,'禁用','启用')状态 from vr_class where c_fid = {$province[$i]['c_id']} order by c_addtime desc"; $arr = $OpMysqlObj1->getAllArray($sql1); /* -----------------用数组插入耗内存大------------------------- $sheetObj->fromArray($arr); ----------------------end----------------------------------- */ //-----------------------逐条填充,低内存-------------------- //添加标题 $sheetObj->setCellValue('A1','城市号') ->setCellValue('B1','归属省号') ->setCellValue('C1','城市名') ->setCellValue('D1','城市描述') ->setCellValue('E1','城市日期') ->setCellValue('F1','状态'); $j = 2; foreach($arr as $key => $val){ $sheetObj->setCellValue('A'.$j,$val['城市号']) ->setCellValue('B'.$j,$val['归属省号']) ->setCellValue('C'.$j,$val['城市名']) ->setCellValue('D'.$j,$val['城市描述']) ->setCellValue('E'.$j,$val['时间']) ->setCellValue('F'.$j,$val['状态']); $j++; } //---------------------end----------------------------------}$writerObj = PHPExcel_IOFactory::createWriter($objPHPExcel,'excel2007');$writerObj -> save($cur_dir.'/vr_class_sheets_perupload.xlsx');//注意:如果不生成文件,直接浏览器输出的情况下://php不生成excel文件,直接输出到浏览器//进入解压之后的目录,在Examples目录下面找到01simple-download-xls.php 01simple-download-xlsx.php两个文件,复制出下面四条//告诉浏览器输出excel07header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器输出excel03header('Content-Type: application/vnd.ms-excel');//定义输出文件的名称header('Content-Disposition: attachment;filename="fileName.xls"');header('Cache-Control: max-age=0');//禁止缓存//最后将save()方法加入参数:php://output$writerObj -> save('php://output');
0 0
- PHPExcel插件的使用1——基本数据导出
- PHPExcel插件的使用2——基本数据导入
- 使用phpexcel导出数据,基本使用方法
- PHPExcel插件的使用
- phpExcel的基本使用
- PHPExcel 大数据的导出
- 使用phpExcel实现Excel数据的导入导出(完全步骤)
- 使用phpExcel实现Excel数据的导入导出(完全步骤)
- PHP_ThinkPHP使用phpExcel实现Excel数据的导出
- ThinkPHP使用phpExcel实现Excel数据的导入导出
- 使用PHPExcel实现对excel数据的导入和导出
- PHPExcel 导出用到的基本方法
- mandys 使用PHPEXcel导出表数据
- PHP使用PHPExcel导出,导入数据总结
- 基于thinkPHP框架使用PHPExcel导出数据
- thinkphp中使用PHPExcel导出数据
- PHP使用PHPExcel导出,导入数据总结
- PHPExcel库的基本使用
- UVA 10256 The Great Divide 凸包 .
- Bare.Bones.Software.BBEdit.v11.6.3.MacOSX.Incl.Keymaker-ARN
- 判断单链表是否有环
- Debian 8.0桌面系统root用户登录和root用户自动登录
- 3D里面的旋转
- PHPExcel插件的使用1——基本数据导出
- SQL 语言分类
- CSS3--多列
- 改善 jdbc和tomcat对中文的支持
- "=="和equals方法的区别?
- DownloadManager源码分析及暂停下载、继续下载功能添加
- QT中QVector报错“index out of range”
- python做简单的增删改查
- 静态变量和实例变量的区别?