Codeigniter+PHPExcel实现导出数据到Excel文件_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文件了。

时间: 2024-11-08 21:15:47

Codeigniter+PHPExcel实现导出数据到Excel文件_php实例的相关文章

java导出数据到excel文件中

问题描述 怎么用java代码,来实现导出数据到excel文件中,引用包是poi的,不要jxl包的,请详细说说步骤啊.最好也讲讲导入excel 解决方案 解决方案二:google例子多的去了解决方案三:先简单介绍一下poi,poi是apache组织的一个开源项目,最新版为poi-3.0.1,要使用poi需要到apache网站下载poi-bin3.0.1.zip压缩包,并将poi-3.0.1.jar加入到项目的ClassPath中.下面是完成这个实例的步骤:1.建立好一个web工程:poi:2.导入

php导出中文内容excel文件类实例_php技巧

本文实例讲述了php导出中文内容excel文件类.分享给大家供大家参考.具体如下: <?php class toExcel{ public $link = null; function __construct(){ } /*************************************************************************** * $mapping:数组格式头信息$map=array('No','Name','Email','Age'); * $dat

php生成与读取excel文件_php实例

在网站中经常会生成表格,CSV和Excel都是常用的报表格式,CSV相对来说比较简单,如果大家有疑问我会相继发布一些CSV的实例,这里主要介绍用PHP来生成和读取Excel文件. 要执行下面的函数,首先要引入一个类库:PHPExcel,PHPExcel是一个强大的PHP类库,用来读写不同的文件格式,比如说Excel 2007,PDF格式,HTML格式等等,这个类库是建立在Microsoft's OpenXML和PHP 的基础上的,对Excel提供的强大的支持,比如设置工作薄,字体样式,图片以及边

php读取EXCEL文件 php excelreader读取excel文件_php实例

php开发中肯定会遇到将excel文件内容导入到数据库的需要,php-excel-reader是一个读取excel的类,可以很轻松的使用它读取excel文件非常方便. php-excel-reader下载地址: http://www.jb51.net/codes/67223.html 我下载的是php-excel-reader-2.21版本,使用的时候还遇到几个小问题,后面再细说,先奉上php实例: 我使用的excel如下图: php代码如下: 复制代码 代码如下: <?php /*by www

Python导出数据到Excel可读取的CSV文件的方法

  本文实例讲述了Python导出数据到Excel可读取的CSV文件的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 import csv with open('eggs.csv', 'wb') as csvfile: #spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|', #quoting=csv.QUOTE_MINIMAL) spamwriter = csv.writer(csvfile,

ASP.NET导出数据到Excel的实现方法

在做asp.net程序时涉及到数据显示的时候多数会要求打印,而网页上的打印格式往往又不能满足需求,经常用的方法就是导入到Excel以后再进行打印.(仿佛这已经是老生常谈)今天在网上搜了一段打印的代码,觉得不错,需要打印的朋友可以看看.   网上好些代码的原理大致与此类似,同样都存在一个问题,就是: 类型"GridView"的控件 "ctl00_center_GridView1"必须放在具有 runat=server 的窗体标记内. 说明: 执行当前 Web 请求期间

spring mvc实现导出数据到excel,页面上有数据,只在controller里面写

问题描述 spring mvc实现导出数据到excel,页面上有数据,只在controller里面写 没有service方法,请问controller和jsp页面如何写,另外报表模板放在webapp/admin/excel下 解决方案 用poi /** * 导出exec * @param request * @param response * @param model * @return * @throws UnsupportedEncodingException */ @RequestMapp

bootstrap table 导出数据为excel或其他,为什么点击了没反应

问题描述 bootstrap table 导出数据为excel或其他,为什么点击了没反应 bootstrap table 导出数据为excel或其他,为什么点击了没反应 解决方案 本身代码有没有问题,事件有没有处理,先改成简单的,比如alert看看是否执行 解决方案二: 看看菜单有没有对应的导出代码或者有没有报错. 解决方案三: 导出代码是否调用了,可能没有响应事件. 解决方案四: 请问你这个bootstraptable 能够导出excel的例子在哪找到的 能不能发给我一份 谢谢 5001470

求vb.net2010读取excel数据生成xml文件的实例源码

问题描述 求vb.net2010读取excel数据生成xml文件的实例源码.刚刚开始学习,需要做个小工具.读取excel表格中的数据,生成一个XML文件.求各路英雄大虾给个示例源码学习学习.谢谢了! 解决方案 解决方案二:分两部分1.读取EXCEL数据表的数据.2.处理表的非法内容3.写入XML文件.解决方案三:这种源码百度就能搜到解决方案四:引用1楼notbb的回复: 分两部分1.读取EXCEL数据表的数据.2.处理表的非法内容3.写入XML文件. 能写个源码发来学习学习吗?我是业余初学者.想