thinkphp3.2+PHPExcel导出查询数据到excel表格的实例

首先下载PHPExcel插件,我们需要把PHPExcel.php和PHPExcel文件夹放到D:\XAMPP\htdocs\fsxb\ThinkPHP\Library\Vendor\PHPExcel目录下,然后主题代码实现:

    public function download(){
        Vendor(‘PHPExcel.PHPExcel‘);
        Vendor(‘PHPExcel.PHPExcel.Writer.Excel2007‘);
        // 首先创建一个新的对象  PHPExcel object
        $objPHPExcel = new \PHPExcel();
         $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);
        // 位置aaa  *为下文代码位置提供锚
             $objPHPExcel->setActiveSheetIndex(0)
                            ->setCellValue(‘A1‘, ‘序号‘)
                            ->setCellValue(‘B1‘, ‘商户姓名‘)
                            ->setCellValue(‘C1‘, ‘商户名称‘)
                            ->setCellValue(‘D1‘, ‘商户号‘)
                            ->setCellValue(‘E1‘, ‘终端号‘)
                            ->setCellValue(‘F1‘, ‘序列号‘)
                            ->setCellValue(‘G1‘, ‘机型‘)
                            ->setCellValue(‘H1‘, ‘代理商‘)
                            ->setCellValue(‘I1‘, ‘手机号‘)
                            ->setCellValue(‘J1‘, ‘人单时间‘);

            $startTime=I(‘get.startTime‘);
            $endTime=I(‘get.endTime‘);
            $agent=I(‘get.agent‘);
            $model=I(‘get.model‘);
            $istrue=I(‘get.istrue‘)==0?0:1;
                if ($startTime!=‘‘&&$endTime!=‘‘) {
                $str=$startTime.",".$endTime;
                $where[‘time‘]=array(‘between‘,$str);
                }
            if ($agent!=‘‘) {
                $where[‘agent‘]=$agent;
                }
            if ($model!=‘‘) {
                $where[‘model‘]=$model;
                }
            if ($istrue==1) {
                $where[‘istrue‘]=$istrue;
                }
            $data=M(‘consumer‘)->where($where)->select();
            if ($data)
            {
                $count=1;
                foreach($data as $v)
                {
                    $count+=1;
                    $l1="A"."$count";
                    $l2="B"."$count";
                    $l3="C"."$count";
                    $l4="D"."$count";
                    $l5="E"."$count";
                    $l6="F"."$count";
                    $l7="G"."$count";
                    $l8="H"."$count";
                    $l9="I"."$count";
                    $l10="J"."$count";  

                    $objPHPExcel->setActiveSheetIndex(0)
                                ->setCellValue($l1, $v[‘id‘])
                                ->setCellValue($l2, $v[‘cname‘])
                                 ->setCellValue($l3, $v[‘mname‘])
                                ->setCellValue($l4, " ".$v[‘cnumber‘])
                                 ->setCellValue($l5, $v[‘tnumber‘])
                                ->setCellValue($l6, $v[‘snumber‘])
                                 ->setCellValue($l7, $v[‘model‘])
                                ->setCellValue($l8, $v[‘agent‘])
                                 ->setCellValue($l9, $v[‘phone‘])
                                ->setCellValue($l10, $v[‘time‘]);
                }
            }          

        //得到当前活动的表,注意下文教程中会经常用到$objActSheet
        $objActSheet = $objPHPExcel->getActiveSheet();
        // 位置bbb  *为下文代码位置提供锚
        // 给当前活动的表设置名称
        $objActSheet->setTitle(‘list‘);
        // 生成2007excel格式的xlsx文件
         header("Content-Type: application/force-download");

                header("Content-Type: application/octet-stream");

                header("Content-Type: application/download");

                header("Content-Disposition:inline;filename=‘consumer.xlsx");

                header("Content-Transfer-Encoding: binary");

                header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

                header("Pragma: no-cache");

                $objWriter->save(‘php://output‘);

                exit;
        }
时间: 2024-11-11 03:44:19

thinkphp3.2+PHPExcel导出查询数据到excel表格的实例的相关文章

C#WinForm 直接导出DataGridView数据到Excel表格的二种方法对比

方法一.利用微软的excel 操作类 引用:using Excel = Microsoft.Office.Interop.Excel; 代码如下:         #region导出数据表:Excle (微软的excel 操作类)         ///<summary>         ///导出数据表:Excle         ///</summary>         ///<param name="myDGV"></param>

PHP导出MySQL数据到Excel文件

PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限.这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件. ? 1 <br><!--?php// 输出Excel文件头,可把user.csv换成你要的文件名header('Content-Type: application/vnd.ms-excel');he

winform导出dataviewgrid数据为excel的方法

本文实例讲述了winform导出dataviewgrid数据为excel的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: #region 导出dataViewGrid视图中的数据为xls格式 private void btnExportList_Click(object sender, EventArgs e) { string fname = string.Empty; SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter =

导出数据到Excel表格

开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击事件function 自定义点击事件名(){//然后这里获取当前表格数据的筛选条件var 自定义下拉框名 = $("#下拉框id “).val();//后面根据你的条件数依次写……var 自定义文本框名 = $(”#文本框id ").val(); //然后这里写判断它是否为空 if (自定

spring boot 使用POI导出数据到Excel表格

摘自:https://www.cnblogs.com/hopeofthevillage/p/12099807.html spring boot 使用POI导出数据到Excel表格 2019-12-26 00:17  全me村的希望  阅读(42)  评论(0)  编辑收藏 在spring boot 的项目经常碰到将数据导出到Excel表格的需求,而POI技术则对于java操作Excel表格提供了API,POI中对于多种类型的文档都提供了操作的接口,但是其对于Excel表格的操作无疑是最强大的.

C#中导出数据到Excel表格中

之前PM交给我一个自动化测试的Case,让我抓取页面上的数据到Excel表格中,刚好又接了一个之前人家做的系统, 刚好看到可以用NPOI导数据,就动手试试,成功导出. 由于鄙人比较菜,也比较懒, 怕自己忘记了,今天就总结一下,以防下次用可以参考. 1.要使用NPOI,首先需要在Project中Install NPOI的 Package. 右键点击Project------>Manage NuGet Packages---->Search NPOI----->点击搜索到的NPOI然后点击等

浅谈控件(组件)制作方法一(附带一delphi导出数据到Excel的组件实例)(原创)

来自:http://blog.csdn.net/zhdwjie/article/details/1490741 ------------------------------------------------------------------- 从99年学习delphi开始,我就被它的快速开发迷上了,那时候刚接触编程,对可视化开发特别来劲,原因嘛,不外乎是比C更快的实现啦,这几年来,从delphi的C/S到三层B/S,大大小小也写过一些软件,自认为这delphi也就这么些功能吧,自从最近偶得一

使用poi导出大量数据到excel遇到的问题

最近在工作遇到利用poi导出大量数据到excel并提供下载的运用场景,并遇到了一个问题,当数据量过大时(几十万),后台在进行数据写入excel中的过程会非常耗时,导致迟迟没有响应前台,结果数据还没导完,前台页面就已经崩掉了. 解决思路:接收到前台导出excel请求之后,开一个线程,在线程里进行数据的写入和将写入完成的excel保存到服务器中等耗时操作,前台定时发送ajax请求检测是否已经导出完成,如果完成则提供一个下载链接到前台供用户下载. 想到解决思路之后,自己写了一个小demo,顺便学习下利

.NET使用Office Open XML导出大量数据到 Excel

我相信很多人在做项目的都碰到过Excel数据导出的需求,我从最开始使用最原始的HTML拼接(将需要导出的数据拼接成TABLE标签)到后来happy的使用开源的NPOI, EPPlus等开源组件导出EXCEL,但不久前,我在一个项目碰到一个需求:要将几个分别有近60多万的数据源导出到Excel中,我们先不要讨论这个需求本身是否合理,客户就是要这样.我先后用NPOI和EPPlus,都发现同一个问题:OutOfMemoryException,我电脑12G内存居然不够用? 的确内存溢出了,但内存还剩下好