之前做了个项目需要导出Excel文件 ,我在网上查了许多资料,最后终于搞定了 ,现在把代码贴到下面

先导入库文件:将文件phpoffice放在根目录的vendor下。获取文件点击:链接:https://pan.baidu.com/s/1G426c2sQKiJ453HZSHpeIQ 提取码:oj6f

接下来先说下没有图片的方法:

    1. 先在application下面的command.php中添加如下的代码:    

 function excelExport($fileName = '', $headArr = [], $data = []) {

     $fileName .= "_" . date("Y_m_d", time()) . "_".time().".xls";

     $objPHPExcel = new \PHPExcel();

     $objPHPExcel->getProperties();

     $key = ord("A"); // 设置表头

     foreach ($headArr as $v) {

         $colum = chr($key);

         $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $v);

         $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $v);

         $key += 1;

     }

     $column = 2;

     $objActSheet = $objPHPExcel->getActiveSheet();

     foreach ($data as $key => $rows) { // 行写入

         $span = ord("A");

         foreach ($rows as $keyName => $value) { // 列写入

             $objActSheet->setCellValue(chr($span) . $column, $value);

             $span++;

         }

         $column++;

     }

     $fileName = iconv("utf-8", "gb2312", $fileName); // 重命名表

     $objPHPExcel->setActiveSheetIndex(0); // 设置活动单指数到第一个表,所以Excel打开这是第一个表

     header('Content-Type: application/vnd.ms-excel');

     header("Content-Disposition: attachment;filename='$fileName'");

     header('Cache-Control: max-age=0');

     $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

     $objWriter->save('php://output'); // 文件通过浏览器下载

     exit();
}

  然后在你的控制器中添加如下的代码:

  

     public function excel()
{ $name='定制订单列表';
$header=['序号','客户','日期','品类','价格','订单属性','客户来源','新老客户','顾问','所属店铺'];
/*需要哪张表的数据就查询哪张表的数据*/
$list = DB::name('order')select();
$str = array();
foreach ($list as $k => $v) {
/*对应的数据库信息*/
$str[] = ['字段1,'字段2','字段4','字段5','字段6','字段7','字段8','字段9','字段10','字段11'];
}
$data=$str;
excelExport($name,$header,$data);
}

  然后调用方法execl就可以导出你想要的数据了

TP5整合的导出Excel中没有图片和包含图片两种方法的更多相关文章

  1. Python 使用 xlwings 往 excel中写入一列数据的两种方法

    1.准备一个二维列表,然后再range后面不指定任何选项,可以输出该二维列表中数据在一列中显示,如下代码: # -*- coding:utf-8 -*- import xlwings as xw li ...

  2. JAVA读取Excel中内容(HSSF和Workbook两种方法)

    内容添加,以前是用的HSSF,前几天帮同学写一个统计表用了Workbook,现在码一下. ---新内容(Workbook)--- 同学要统计一个xls表格,让表1里面的某一列内容对表2里面的每列进行匹 ...

  3. Java 获取*.properties配置文件中的内容 ,常见的两种方法

    import java.io.InputStream; import java.util.Enumeration; import java.util.List; import java.util.Pr ...

  4. 在Java Web程序中使用监听器可以通过以下两种方法

    之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响 ...

  5. js如何实现动态的在表格中添加和删除行?(两种方法)

    js如何实现动态的在表格中添加和删除行?(两种方法) 一.总结 1.table元素有属性和一些方法(js使用) 方法一:添加可通过在table的innerHTML属性中添加tr和td来实现 tab.i ...

  6. QT中获取选中的radioButton的两种方法(动态取得控件的objectName之后,对名字进行比较)

    QT中获取选中的radioButton的两种方法   QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioBu ...

  7. 原生JS—实现图片循环切换的两种方法

    今天我们主要讲讲如何使用原生JS实现图片的循环切换的方法.多余的话我们就不多说了,我们一个一个开始讲吧. 1  原生JS实现图片循环切换 -- 方法一 在上栗子之前我们先简单介绍一下所用的一些知识点. ...

  8. ant中调用外部ant任务的两种方法

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  9. PHP中对用户身份认证实现两种方法

    用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问.通常,我们可以采用内置于WEB服务器的基于HTTP协议的用户身份验证机制.     当访问者浏览受保护页面时,客户端浏览器会弹出对话 ...

随机推荐

  1. Java标识符中常见的命名规则

    标识符:就是给类,接口,方法,变量等起名字.组成规则:A:英文字母大小写B:数字字符C:$和_注意事项:A:不能以数字开头B:不能使Java中的关键字C:Java语言严格区分大小写常见的命名规则:见名 ...

  2. Jmeter:运行报:Error occurred starting thread group :线程组, error message:Invalid duration 0 set in Thread Group:线程组, see log file for more details

    最近在用jmeter做压测,上周五压测的脚本,今天早晨结束后. 点击同样的脚本,运行就报Error occurred starting thread group :线程组, error message ...

  3. awk和sed命令

    awk awk是一个强大的编辑工具,可以在无交互的情况下实现相当复杂的文本操作 awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 a ...

  4. MYSQL隔离级别 与 锁

    1.四种隔离级别下数据不一致的情况   脏读 不可重复读 幻读 RU 是 是 是 RC(快照读) 否 是 是 RC(当前读) 否 否 是 RR(快照读) 否 否 是 RR(当前读) 否 否 否 Ser ...

  5. javaScript常用到的方法

    判断一个对象是否为空对象,不为null,仅仅是{};可以使用如下方法判断: if (JSON.stringify(object) === '{}') { //.. } //也可以 if (Object ...

  6. centos6更换yum源和epel源

    epel是yum的一个软件用源,包含了很多基本源中没有的软件,cobbler就属于基本源中没有的软件,所以需要安装epel源. yum源: wget -O /etc/yum.repos.d/CentO ...

  7. 两种方法直接删除数组中特定值的项(JavaScript)

    一.问题详情: 直接删除意为原数组需要被改变,而不是得到另一个数组. 二.JavaScript实现 (一)巧用数组的push( ).shift( )方法 function del(arr,num) { ...

  8. spark系列-3、缓存、共享变量

    一.persist  和 unpersist 1.1.persist() : 用来设置RDD的存储级别 存储级别 意义 MEMORY_ONLY 将RDD作为反序列化的的对象存储JVM中.如果RDD不能 ...

  9. django+nginx+uwsgi的生产环境部署(Ubuntu16.04)

    一,准备工作: 代码一定要能本地跑起来! 各种基础包的安装略默认已经安装python3,nginx,uwsgi等基础依赖,注意版本问题. 本地setting.py文件修改如下(改为生产模式,把debu ...

  10. Jenkins如何进行权限管理

    一.安装插件 插件名:Role-based Authorization Strategy 二.配置授权策略 三.创建用户 四.添加并配置权限 4.1.添加Global Role 普通角色拥有全局只读权 ...