Codeigniter+PHPExcel中导出数据到Excel文件
来源:互联网 发布:桂永清知乎 编辑:程序博客网 时间:2024/05/24 06:48
http://www.cnblogs.com/jiji262/archive/2012/03/27/2419989.html
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)
代码如下:
1 <?php
2
3 class Table_export extends CI_Controller {
4
5 function __construct()
6 {
7 parent::__construct();
8
9 // Here you should add some sort of user validation
10 // to prevent strangers from pulling your table data
11 }
12
13 function index($table_name)
14 {
15 $query = $this->db->get($table_name);
16
17 if(!$query)
18 return false;
19
20 // Starting the PHPExcel library
21 $this->load->library('PHPExcel');
22 $this->load->library('PHPExcel/IOFactory');
23
24 $objPHPExcel = new PHPExcel();
25 $objPHPExcel->getProperties()->setTitle("export")->setDescription("none");
26
27 $objPHPExcel->setActiveSheetIndex(0);
28
29 // Field names in the first row
30 $fields = $query->list_fields();
31 $col = 0;
32 foreach ($fields as $field)
33 {
34 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, 1, $field);
35 $col++;
36 }
37
38 // Fetching the table data
39 $row = 2;
40 foreach($query->result() as $data)
41 {
42 $col = 0;
43 foreach ($fields as $field)
44 {
45 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $data->$field);
46 $col++;
47 }
48
49 $row++;
50 }
51
52 $objPHPExcel->setActiveSheetIndex(0);
53
54 $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');
55
56 // Sending headers to force the user to download the file
57 header('Content-Type: application/vnd.ms-excel');
58 header('Content-Disposition: attachment;filename="Products_'.date('dMy').'.xls"');
59 header('Cache-Control: max-age=0');
60
61 $objWriter->save('php://output');
62 }
63
64 }
4. 测试
加入数据库有表名为products,此时可以访问http://www.yoursite.com/table_export/index/products 导出Excel文件了。
参考:http://www.dannyherran.com/2011/03/exporting-your-mysql-table-data-with-phpexcel-codeigniter/
0 0
- Codeigniter+PHPExcel中导出数据到Excel文件
- Codeigniter+PHPExcel中导出数据到Excel文件//http://www.cnblogs.com/jiji262/archive/2012/03/27/2419989.html
- CI Codeigniter框架里面PHPExcel的使用|导出数据到Excel文件
- phpexcel导出数据到excel
- PHPExcel导出数据到excel
- phpexcel 导出数据库中数据到excel表中
- CI中使用PHPExcel导出数据到Excel
- 利用PHPExcel导出数据到excel
- 利用PHPExcel导出数据到excel
- phpexcel导出数据库数据生成excel文件
- phpexcel导出excel文件
- PHPexcel导出excel文件
- 导出SQLServer数据到Excel文件中
- PHPExcel导入excel数据到数据库中
- 在YII中使用PHPExcel扩展导出数据到EXCEL中
- CI框架里面PHPExcel的使用|导出数据到Excel文件
- 利用PHPExcel将数据导出到xls格式的excel文件
- PHPExcel导入导出Excel文件
- View
- hdu3001Travelling 状态压缩dp
- 【BZOJ】【P2789】【Poi2012】【Letters】【题解】【逆序对】
- C++学习笔记(三)string类
- CODEVS_1033 蚯蚓的游戏问题 网络流 最小费用流 拆点
- Codeigniter+PHPExcel中导出数据到Excel文件
- 改变vim注释的颜色
- vector
- 【bzoj 1093】: [ZJOI2007]最大半连通子图
- NIM(3)两堆石头的游戏
- 【线段树】 HDOJ 3627 Giant For
- [LeetCode OJ]Best Time to Buy and Sell Stock
- 开篇小记
- 编码gbk的不可映射字符