首先我们需要去PHPExcel官网下载开源包

下载好了以后只需要把里面的classes文件夹解压出来就可以用了!

在ThinkPHP中,文件的命名空间还是很重要的,我试着按照其他的第三方命名写namespace但是还是不行,最后我是这么做的

第一步:重命名classes为Excel,并且将文件夹内的PHPExcel.php重命名成PHPExcel.class.php

然后放入到目录文件

然后在控制层导入,直接use的话是会报错找不到类文件的。。。也许是内核里面的路由问题,于是我是在实例化的时候写的详细地址居然可以出来了

  1. $objPHPExcel = new \Org\Excel\PHPExcel(); 就是这样

    但是这样类文件的一些方法是不可以用的,如果调用需要在方法前面加一个\

    比如这样:
  1. $objSheet->getStyle("A1:Z1")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('#00FF00');//给单元格填充背景颜色


  1. 如下是具体代码:

  1. //excel导出
    public function excel(){

    //查询sql生成数组
    $loan = M("loan");
    $data = $loan->select();

    $objPHPExcel = new \Org\Excel\PHPExcel();//实例化类文件 等同于在桌面新建一个excel表格
    $objSheet = $objPHPExcel->getActiveSheet();//获得当前活动sheet操作对象
    $objSheet->setTitle('loan_info');//给当前活动sheet修改名称

    $objSheet->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER)->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//设置单元格垂直居中、水平居中
    $objSheet->getStyle("A1:Z1")->getFont()->setName("微软雅黑")->setSize(10)->setBold(true);//设置单元格范围的字体、字体大小、加粗
    $objSheet->getStyle("A1:Z1")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('#00FF00');//给单元格填充背景颜色

    //添加边框
    $styleArray = array(
    'borders' => array(
    'outline' => array(
    'style' => \PHPExcel_Style_Border::BORDER_THICK,
    'color' => array('argb' => '#F0F8FF'),
    ),
    ),
    );
    $objSheet->getStyle("A1")->applyFromArray($styleArray);
    $objSheet->getStyle("B1")->applyFromArray($styleArray);
    $objSheet->getStyle("C1")->applyFromArray($styleArray);
    $objSheet->getStyle("D1")->applyFromArray($styleArray);
    $objSheet->getStyle("E1")->applyFromArray($styleArray);
    $objSheet->getStyle("F1")->applyFromArray($styleArray);
    $objSheet->getStyle("G1")->applyFromArray($styleArray);
    $objSheet->getStyle("H1")->applyFromArray($styleArray);
    $objSheet->getStyle("I1")->applyFromArray($styleArray);
    $objSheet->getStyle("J1")->applyFromArray($styleArray);
    $objSheet->getStyle("K1")->applyFromArray($styleArray);
    $objSheet->getStyle("L1")->applyFromArray($styleArray);
    $objSheet->getStyle("M1")->applyFromArray($styleArray);
    $objSheet->getStyle("N1")->applyFromArray($styleArray);
    $objSheet->getStyle("O1")->applyFromArray($styleArray);
    $objSheet->getStyle("P1")->applyFromArray($styleArray);
    $objSheet->getStyle("Q1")->applyFromArray($styleArray);
    $objSheet->getStyle("R1")->applyFromArray($styleArray);
    $objSheet->getStyle("S1")->applyFromArray($styleArray);
    $objSheet->getStyle("T1")->applyFromArray($styleArray);
    $objSheet->getStyle("U1")->applyFromArray($styleArray);
    $objSheet->getStyle("V1")->applyFromArray($styleArray);
    $objSheet->getStyle("W1")->applyFromArray($styleArray);

    $objSheet->setCellValue("A1","ID")
    ->setCellValue("B1","公司名称")
    ->setCellValue("C1","公司LOGO")
    ->setCellValue("D1","链接地址")
    ->setCellValue("E1","贷款对应人群")
    ->setCellValue("F1","宣传语")
    ->setCellValue("G1","最小额度范围")
    ->setCellValue("H1","最大额度范围")
    ->setCellValue("I1","最小期限范围")
    ->setCellValue("J1","最大期限范围")
    ->setCellValue("K1","利率")
    ->setCellValue("L1","最快放款时间")
    ->setCellValue("M1","计息方式")
    ->setCellValue("N1","是否认证")
    ->setCellValue("O1","申请条件")
    ->setCellValue("P1","申请流程")
    ->setCellValue("Q1","申请所需材料")
    ->setCellValue("R1","申请时间")
    ->setCellValue("S1","更新时间")
    ->setCellValue("T1","成功贷款人数")
    ->setCellValue("U1","按点击收费金额")
    ->setCellValue("V1","是否上架")
    ->setCellValue("W1","显示序号排列");//给单元格填充相应的值

    //循环填充
    $j = 2;
    foreach($data as $key => $val){
    $objSheet->setCellValue("A".$j,$val['id'])
    ->setCellValue("B".$j,$val['corporate'])
    ->setCellValue("C".$j,$val['img'])
    ->setCellValue("D".$j,$val['corporate_url'])
    ->setCellValue("E".$j,$val['person'])
    ->setCellValue("F".$j,$val['propaganda'])
    ->setCellValue("G".$j,$val['xquota'])
    ->setCellValue("H".$j,$val['dquota'])
    ->setCellValue("I".$j,$val['xterm'])
    ->setCellValue("J".$j,$val['dterm'])
    ->setCellValue("K".$j,$val['rate'])
    ->setCellValue("L".$j,$val['qtime'])
    ->setCellValue("M".$j,$val['type'])
    ->setCellValue("N".$j,$val['authentication'])
    ->setCellValue("O".$j,$val['condition'])
    ->setCellValue("P".$j,$val['process'])
    ->setCellValue("Q".$j,$val['science'])
    ->setCellValueExplicit("R".$j,$val['apply_time'],\PHPExcel_Cell_DataType::TYPE_STRING)//设定日期固定的为数字合适不会成为官方看不懂的格式
    ->setCellValueExplicit("S".$j,$val['up_time'],\PHPExcel_Cell_DataType::TYPE_STRING)//设定日期固定的为数字合适不会成为官方看不懂的格式
    ->setCellValue("T".$j,$val['succ_person'])
    ->setCellValue("U".$j,$val['click_money'])
    ->setCellValue("V".$j,$val['is_shelves'])
    ->setCellValue("W".$j,$val['show_number']);
    $j++;
    }

    //设置文件保存的命名、编码、以及开放保存路径权限
    $fn= "loan_".time().".xls";
    header('Content-Type: application/vnd.ms-excel; charset=utf-8');
    header("Content-Disposition: attachment;filename=$fn");//告诉浏览器将要输出的名称
    header('Cache-Control: max-age=0');//禁止缓存
    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');//生成excel文件
    $objWriter->save('php://output');//彻底开放保存路径
    exit;
    }
  1.  

  1.  

基于ThinkPHP开发的PHPExcel导出的更多相关文章

  1. 基于ThinkPHP开发的PHPExcel导入

    首先,我们还是要导入PHPExcel类文件...至于怎么导入.可以参考我写的导出的那篇文章(http://www.cnblogs.com/hopelooking/p/6230303.html) 但是我 ...

  2. thinkphp中使用PHPEXCEL导出数据

    thinkphp中导出二维数组到Excel 1.解决时间长度导致EXCEL出现###问题 2.解决长数值型 带来的科学记数法导出问题 订单号不再变为科学记数法 而是直接字符串类型 代码如下: < ...

  3. 基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题

    一. 环境与版本: 主机:amazon aws EC2主机 系统:Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-1039-aws x86_64) 面板:宝塔免费版 6.9. ...

  4. 齐博软件 著名的老牌CMS开源系统 X1.0基于thinkphp开发的高性能免费开源PHP开放平台齐博x1.0基于thinkphp框架开发的高性能免费开源系统 主推圈子 论坛 预定拼团分销商城模块

    齐博X1--标签变量大全 1.网站名称: {$webdb.webname} 2.网址: {$webdb[www_url]} {:get_url('home')} 3.网站SEO关键词: 首页:{$we ...

  5. 一个基于thinkphp的微信授权登陆功能

    共享一份基于thinkphp开发的用户授权登陆的功能代码,本实例使用thinkphp的第三方微信公众平台PHP-SDK,地址https://github.com/dodgepudding/wechat ...

  6. SEO之基于thinkphp的URL伪静态

    最近基于thinkphp开发了个导购网站,现在有时间,将遇到的伪静态问题整理下,与大家分享.1.设置URL伪静态在config.ini.php中设置,如果只想前台URL伪静态,那么只在前台的confi ...

  7. ThinkPhp 使用PhpExcel导出导入多语言文件

    在ThinkPHP 里已经实现了多语言功能,只要在指定的目录下创建对应的语言文件并填充内容,即可实现多语言功能 而多语言的翻译却是一个很麻烦的事情,因为客户特定的行业问题导致我们翻译可能是不准确的 于 ...

  8. thinkphp使用PHPExcel导出

    thinkphp3. 将PHPExcel下载包放在项目\ThinkPHP\Library\Vendor\PHPExcel thinkphp5 将PHPExcel下载包放在项目\vendor\PHPEx ...

  9. PHPExcel导出功能

    对于第一次弄这个导出,总结下思路: 1.下载在http://phpexcel.codeplex.com/下载最新PHPExcel放到Vendor下,注意位置:ThinkPHP\Extend\Vendo ...

随机推荐

  1. 推荐轻量高效无依赖的开源JS插件和库

    目录 图片 布局 音频视频 编辑器 轮播图 弹出层 表单 存储 动画 时间 其它 CDN 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本.demo Lightgalle ...

  2. [转]你不需要jQuery

    完全没有否定jQuery的意思,jQuery是一个神奇的.非常有用的工具,可以节省我们大量的时间. 但是,有些时候,我们只需要jQuery的一个小功能,来完成一个小任务,完全没有必要加载整个jQuer ...

  3. ThinPHP基础

    注:约定([书写]规则)胜于配置 *测试连接是否成功:localhost/tp/index.php1.localhost/tp/index.php(入口文件)/Home(模块名)/Index(控制器名 ...

  4. android必须要进行为不同分辨率设备切图

    以分辨率为1920×1080的android设备为例.在项目中加载资源的位置为xxhdpi文件夹: 例如将图片放入mdpi文件夹中就会出现,图片的横纵尺寸分别乘3被的后果,因为它认为在这个文件夹中是低 ...

  5. 最全的jQuery知识汇总

    本帖最后由 断天涯大虾 于 2016-12-26 10:22 编辑<ignore_js_op> jQuery是什么? jQuery是javascript编写一个可重用的JavaScript ...

  6. System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. ...

  7. 本地代码如何通过TortoiserGit提交到GitHub

    昨天博文给大家讲解了一下如何本地安装TortoiseGit http://www.cnblogs.com/xinlj/p/5978730.html,今天为大家讲一下如何通过TortoiseGit将本地 ...

  8. mac os 下的sublime --- 快捷键

    mac os 下的sublime ---列模式 http://www.oschina.net/question/249672_161413 触控板也可以的:左手同时按住 Option 和触控板左下角 ...

  9. Ubuntu的安装与配置

    一.Ubuntu的安装与配置 Ubuntu 快速下载地址 1.安装VMwareTools 系统安装后,工具栏"虚拟机"-->"安装VMwareTools" ...

  10. margin重叠现象与margin auto自适应居中

    上下相邻的(算一种兄弟关系)普通元素,上下边距并非简单的相加,而是取其中最大的边距值:而浮动的盒子边距是相加的:父子div也会发生重叠,并不是bug: <style>#test1{ wid ...