源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Codeigniter+PHPExcel实现导出数据到Excel文件

  • 时间:2020-07-02 17:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Codeigniter+PHPExcel实现导出数据到Excel文件
PHPExcel是用来操作OfficeExcel文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格。而Codeigniter是一个功能强大的PHP框架。二者结合就能起到非常棒的效果啦! [b]1.准备工作 [/b] 下载PHPExcel:http://phpexcel.codeplex.com 这是个强大的Excel库,这里只演示导出Excel文件的功能,其中的大部分功能可能都用不着。 [b] 2.安装PHPExcel到Codeigniter [/b] 1)解压压缩包里的Classes文件夹中的内容到applicationlibraries目录下,目录结构如下: --applicationlibrariesPHPExcel.php --applicationlibrariesPHPExcel(文件夹) 2)修改applicationlibrariesPHPExcelIOFactory.php文件 --将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则。 --将其构造函数改为public [b] 3.安装完毕,写一个导出excel的控制器(Controller) [/b] 代码如下:
[u]复制代码[/u] 代码如下:
<?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');         }     }
[b] 4.测试 [/b] 加入数据库有表名为products,此时可以访问http://www.yoursite.com/table_export/index/products导出Excel文件了。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部