Codeigniter+PHPExcel实现导出数据到Excel文件
2015-01-24信息快讯网
PHPExcel是用来操作OfficeExcel文档的一个PHP类库,Codeigniter是一个功能强大的PHP框架。二者结合就能起到非常棒的效果,需要的朋友可以参考下
PHPExcel是用来操作OfficeExcel文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格。而Codeigniter是一个功能强大的PHP框架。二者结合就能起到非常棒的效果啦!
1.准备工作
下载PHPExcel:http://phpexcel.codeplex.com
这是个强大的Excel库,这里只演示导出Excel文件的功能,其中的大部分功能可能都用不着。
2.安装PHPExcel到Codeigniter
1)解压压缩包里的Classes文件夹中的内容到application\libraries\目录下,目录结构如下:
--application\libraries\PHPExcel.php
--application\libraries\PHPExcel(文件夹)
2)修改application\libraries\PHPExcel\IOFactory.php文件
--将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则。
--将其构造函数改为public
3.安装完毕,写一个导出excel的控制器(Controller)
代码如下:
<?php classTable_exportextendsCI_Controller{ function__construct() { parent :: __construct(); // Hereyoushouldaddsomesortofuservalidation // topreventstrangersfrompullingyourtabledata } functionindex($table_name) { $query = $this -> db -> get($table_name); if(!$query) returnfalse; // StartingthePHPExcellibrary $this -> load -> library('PHPExcel'); $this -> load -> library('PHPExcel/IOFactory'); $objPHPExcel = newPHPExcel(); $objPHPExcel -> getProperties() -> setTitle("export") -> setDescription("none"); $objPHPExcel -> setActiveSheetIndex(0); // Fieldnamesinthefirstrow $fields = $query -> list_fields(); $col = 0; foreach($fieldsas$field) { $objPHPExcel -> getActiveSheet() -> setCellValueByColumnAndRow($col, 1, $field); $col++; } // Fetchingthetabledata $row = 2; foreach($query -> result()as$data) { $col = 0; foreach($fieldsas$field) { $objPHPExcel -> getActiveSheet() -> setCellValueByColumnAndRow($col, $row, $data -> $field); $col++; } $row++; } $objPHPExcel -> setActiveSheetIndex(0); $objWriter = IOFactory :: createWriter($objPHPExcel, 'Excel5'); // Sendingheaderstoforcetheusertodownloadthefile header('Content-Type:application/vnd.ms-excel'); header('Content-Disposition:attachment;filename="Products_' . date('dMy') . '.xls"'); header('Cache-Control:max-age=0'); $objWriter -> save('php://output'); } }
4.测试
加入数据库有表名为products,此时可以访问http://www.yoursite.com/table_export/index/products导出Excel文件了。
php调用shell的方法
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
set_exception_handler函数在ThinkPHP中的用法
Laravel 4 初级教程之Pages、表单验证
Laravel 4 初级教程之视图、命名空间、路由
Laravel 4 初级教程之安装及入门
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
如何让CI框架支持service层
CI框架学习笔记(二) -入口文件index.php
ThinkPHP基于PHPExcel导入Excel文件的方法
PHP正则替换函数preg_replace和preg_replace_callback使用总结
php中使用PHPExcel读写excel(xls)文件的方法
phpExcel中文帮助手册之常用功能指南
PHP 导出Excel示例分享
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
PHP使用Alexa API获取网站的Alexa排名例子
Codeigniter生成Excel文档的简单方法
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
PHP命名空间(Namespace)简明教程
CI框架中libraries,helpers,hooks文件夹详细说明
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
php 批量添加多行文本框textarea一行一个
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
php加速器eAccelerator的配置参数、API详解
yii框架builder、update、delete使用方法
php导出excel格式数据问题
php导出word文档与excel电子表格的简单示例代码