PHP如何实现表格Excel的导出

PHP如何实现表格Excel的导出

PHP如何实现表格Excel的导出

首先下载PHPExcel包并将包引入到项目中;然后实例化PHPExcel对象;接着设置表格的列,以及列队属性;再将数据添加到表格中;最后将表格文件数据输出即可。

PHPExcel

是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格

立即学习“PHP免费学习笔记(深入)”;

ThinkPHP示例

public function exportExcel(){    //先获取数据    $where['comid'] = session('uid');    $res = M('cheliang')->where($where)->select();   // var_dump($res);die;    //下面就是导出的步骤了    vendor('PHPExcel0.Classes.PHPExcel');    $objPHPExcel = new PHPExcel();    $objPHPExcel->createSheet(0);    $objPHPExcel->setActiveSheetIndex(0);   //只需要把你想要的字段改成你自己需要的就可以了!!!        $objPHPExcel->setActiveSheetIndex(0)            ->setCellValue('A1', '考试人')            ->setCellValue('B1', '车牌')            ->setCellValue('C1', '考试时间')            ->setCellValue('D1', '考试分数')            ->setCellValue('E1', '签名');        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);//设置单元格宽度        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(50);//设置单元格宽度        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);//设置单元格宽度        $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);//设置单元格宽度        $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);      //第一行是否加粗        $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);      //第一行是否加粗        $objPHPExcel->getActiveSheet()->getStyle('C1')->getFont()->setBold(true);      //第一行是否加粗        $objPHPExcel->getActiveSheet()->getStyle('D1')->getFont()->setBold(true);      //第一行是否加粗        $objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->setBold(true);      //第一行是否加粗        //$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(16);         //第一行字体大小        // 设置垂直居中        $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);        $objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);        $objPHPExcel->getActiveSheet()->getStyle('C1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);        $objPHPExcel->getActiveSheet()->getStyle('D1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);        $objPHPExcel->getActiveSheet()->getStyle('E1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);        // 设置行高度        $objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20); //设置默认行高        $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30);    //第一行行高        //循环添加数据,注意的是下面的$kk+2,是因为$kk是下标,从0开始的,而第一行是你的标题,所以要从第二行开始才是你的数据        foreach ($data as $kk => $vv) {            $no = $kk + 2;                $currentSheet = $objPHPExcel->getActiveSheet();                $currentSheet->setCellValue('A' . $no, $vv['xueyuan']['name']);                $currentSheet->setCellValue('B' . $no, $vv['xueyuan']['chepaihao']);                $currentSheet->setCellValue('C' . $no, date('Y-m-d H:i:s',$vv['addtime']).'至'.date('Y-m-d H:i:s',$vv['sbttime']));                $currentSheet->setCellValue('D' . $no, $vv['score']);                //设置单元格高度,这个是重点哦                $currentSheet->getRowDimension($no) -> setRowHeight(40);                // 图片生成                $objDrawing[$kk] = new PHPExcel_Worksheet_Drawing();//这个就是生成图片的类(重点)                $objDrawing[$kk]->setPath('./'.$vv['qmimg']);/图片的路径                // 设置宽度高度                $objDrawing[$kk]->setHeight(85);//照片高度                $objDrawing[$kk]->setWidth(100); //照片宽度                /*设置图片要插入的单元格*/                $objDrawing[$kk]->setCoordinates('E'.$no);                // 图片偏移距离                 $objDrawing[$kk]->setOffsetX(12);                 $objDrawing[$kk]->setOffsetY(12);                $objDrawing[$kk]->setWorksheet($objPHPExcel->getActiveSheet());        }    $objPHPExcel->setActiveSheetIndex(0);    header('Content-Type: application/vnd.ms-excel');    header('Content-Disposition: attachment;filename="' . '文件名称'. '.xls"');    header('Cache-Control: max-age=0');    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');    $objWriter->save('php://output');    exit;}

登录后复制

推荐教程:《PHP教程》

以上就是PHP如何实现表格Excel的导出的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2139550.html

(0)
上一篇 2025年2月25日 01:51:37
下一篇 2025年2月25日 01:51:52

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP如何将时间戳转换日期

    PHP如何将时间戳转换日期 在php中可以使用“date()”函数将时间戳转换日期,该函数用于格式化一个本地时间日期,其语法是“date($format,$timestamp)”,其参数format表示日期格式,参数timestamp表示要…

    2025年2月25日
    000
  • PHP数据结构有几种

    PHP数据结构有几种 在PHP中数据结构共有9种,PHP有着非常强大的SPL标准库,其中提供了一套标准的数据结构,分别是双向链表,栈,队列,堆,最大堆,最小堆,优先列队,阵列,映射。 双向链表:SplDoublyLinkedList 双链表…

    2025年2月25日
    200
  • PHP如何将数组里字符串转为数组

    PHP如何将数组里字符串转为数组 首先使用函数“implode()”将数组拼接成字符串,拼接间隔符为数组中的字符串的间隔符;然后在将拼接出来字符串,使用函数“explode()”将其拆分为数组即可。 示例代码: $arr = [‘1.a.d…

    2025年2月25日
    200
  • php 删文件夹的方法

    php 删文件夹的方法 新建一个php文件,命名为test.php,用于讲解php如何删除文件夹及其文件夹下所有文件。 相关推荐:《PHP教程》 在test.php文件内,创建一个removeDir()函数,其参数为$dirName(所需删…

    2025年2月25日 编程技术
    200
  • php安装curl扩展的方法

    php安装curl扩展的方法 PHP的curl扩展的安装 有时候安装好php后,后面需要一些扩展需要添加进来,又不能影响当前php的工作,我们就只能通过动态添加扩展来实现 一.首先明确一些目录 1.源码包目录,就是放从网上下载的源码包文件的…

    2025年2月25日
    200
  • json如何转php

    json如何转php? json_decode是php5.2.0之后新增的一个PHP内置函数,其作用是对JSON格式的字符串进行编码.   json_decode的语法规则:   json_decode ( string $json [, …

    2025年2月25日
    200
  • php如何禁止页面缓存

    php如何禁止页面缓存? 页面缓存在有的时候是不需要的,我们可以禁止浏览器缓存页面。 在PHP中可以轻松的使用下面的语句实现禁止页面缓存,但比较难记特整理下,方便大家使用。 php代码如下: 登录后复制 这对于某些页面来说是很有用的,例如:…

    2025年2月25日
    200
  • php转换大小写的方法

    php转换大小写的方法 1.将字符串转换成小写 strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串. 例: 登录后复制 输出结果: 立即学习“PHP免费学习笔记(深入)”; i want …

    2025年2月25日
    200
  • php字符串转数字的方法总结

    php字符串转数字的方法总结 1、第一种转换方式:在要转换的变量之前加上用括号括起来的目标类型,如 (int);(bool);(float);(string);(array);(object) 2、第二种转换方式:使用3个具体类型的转换函数…

    2025年2月25日 编程技术
    200
  • php 删除字符串中任何字符的方法

    php 删除字符串中任何字符的方法  function delStr($start, $end, $orgenStr) {   //读取要删除字符位置的前一部分字符串,并赋值给$temp    //strpos读取字符第一次出现的位置   …

    2025年2月25日
    200

发表回复

登录后才能评论