当前位置: 首页 > news >正文

基于phpExcel写的excel类,供平时方便使用

<?php
/*
 * 类的功能
 * 传入二位数组导出excel 
 * 传入excel 导出二位数组
 * @author mrwu
 */
require('PHPExcel.php');
require_once 'PHPExcel/Reader/Excel5.php';  
include 'PHPExcel/IOFactory.php';  

class plugin_phpexcel
{
    private $export_excel_title;//导出excel标题
    private $export_sheet_title;//导出sheet标题
    private $letters;
    private $php_excel;//php_excel操作类
    private $active_sheet;
    
    function __construct($export_excel_title='excel',$export_sheet_title='sheet1')
    {
    $this->letters=range('A','Z',1);
    $this->php_excel=new PHPExcel();
    $this->php_excel->setActiveSheetIndex(0);
    $this->active_sheet=$this->php_excel->getActiveSheet();
    $this->export_excel_title=$export_excel_title;
    $this->export_sheet_title=$export_sheet_title;
    }
    
    /*
     * $title='标题' array
     * $import_arr 插入excel的数组 要求二位数组
     */
    function export($title=array(),$import_arr)
    {
    //有设置excel第一行的标题
        if($title)
        {
       $count=count($title);
        for($i=0;$i<=$count;$i++)
             {
                  $this->active_sheet->setCellValue($this->letters[$i].'1',$title[$i]);
             }
        }
     //循环插入二维数组
        $count=count($import_arr[0]);
        $row=1;
        foreach($import_arr as $value)
        {
        
            $row++;
            $j=0;
            foreach($value as $key=>$v)
            {
            $this->active_sheet->setCellValue($this->letters[$j].$row,$v);
            echo $value[$j];
            $j++;
            }
        }
        $phpWriter=PHPExcel_IOFactory::createWriter($this->php_excel,'Excel5');
        //设置一些标题等
        $file=$this->export_excel_title;
        $this->active_sheet->setTitle($this->export_sheet_title);
        
        //设置header
        header("Pragma: public");  
        header("Expires: 0");  
        header("Cache-Control:must-revalidate, post-check=0, pre-check=0");  
        header("Content-Type:application/force-download");  
        header("Content-Type:application/vnd.ms-execl");  
        header("Content-Type:application/octet-stream");  
        header("Content-Type:application/download");  
        header('Content-Disposition:attachment;filename="excel.xls"');  
        header("Content-Transfer-Encoding:binary");  
         
        $phpWriter->save('php://output'); 
        
    
    }
}
    //测试
    $php_excel=new plugin_phpexcel('excel','sheet1');
    $php_excel->export(array('title','content'),array(array('title'=>'haha','content'=>'shit'),array('title'=>'hehe','content'=>'fuck')));

转载于:https://www.cnblogs.com/masterRoshi/archive/2012/09/15/2686610.html

相关文章:

  • IaaS PaaS SaaS Daas
  • Java8 Arrays.sort VS Arrays.parallelSort应用实例源码教程
  • Facebook iOS 新版开发手记:两倍速度的背后(转)(参考)
  • Azure ARM创建和部署自定义操作系统映像
  • 维基百科新增电子书导出功能,方便离线阅读
  • CentOS6.9安装LAMP(Centos6.9+Apache2.2.15+mysql5.1.73+php5.3.3)
  • MFC禁止改变窗口大小和移动窗口
  • 人月神话6
  • Windows下编译项目 ckcore ckfilesystem
  • HTML5、canvas、SVG
  • Thirft框架介绍
  • Android鬼点子-通过Google官方示例学NDK(2)
  • Java泛型-类型擦除
  • 【Dalston】【第五章】API服务网关(Zuul) 上
  • Cocos2d中从场景切换到UIViewController视图方法总结
  • ES6指北【2】—— 箭头函数
  • cookie和session
  • Electron入门介绍
  • HTTP--网络协议分层,http历史(二)
  • JAVA并发编程--1.基础概念
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • MD5加密原理解析及OC版原理实现
  • Node 版本管理
  • Otto开发初探——微服务依赖管理新利器
  • PAT A1092
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Tornado学习笔记(1)
  • Vue UI框架库开发介绍
  • windows下使用nginx调试简介
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 高性能JavaScript阅读简记(三)
  • 排序(1):冒泡排序
  • 前端知识点整理(待续)
  • 提醒我喝水chrome插件开发指南
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 原生Ajax
  • UI设计初学者应该如何入门?
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #大学#套接字
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #图像处理
  • #微信小程序:微信小程序常见的配置传值
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (安卓)跳转应用市场APP详情页的方式
  • (八)c52学习之旅-中断实验
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (南京观海微电子)——I3C协议介绍
  • (七)理解angular中的module和injector,即依赖注入
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net6Api后台+uniapp导出Excel