1.当然是下载PHPexcel的插件了    http://phpexcel.codeplex.com/

2.应用插件 我把插件和需要用到的excel模板放的是不同文件夹的,excel我放在public下的upload文件夹里,excel插件我放在vendor文件里

3.控制器的引用方法,这些应该是必须的

注:因为我用的是thinkcmf5,里面有自带的phpexcel的方法,所以你们用其他框架的我不知道可不可以用,如果不可以用,请把Loader改为

 vendor('PHPExcel.Classes.PHPExcel');
vendor('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');

上面的如果读不出来,可能就是里面的路径没写对

   $dir = 'upload/';         //模板存放目录
$templateName = 'account.xlsx'; //模板表
$path = dirname(__FILE__); //找到当前脚本所在路径
Loader::import('PHPExcel.Classes.PHPExcel');
Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory'); $PHPExcel = new \PHPExcel();
$PHPReader = new \PHPExcel_Reader_Excel2007();
//读取Excel
$PHPExcel = $PHPReader->load($dir.$templateName);
$currentSheet = $PHPExcel->getSheet(0);

4.样式设置,你也可以不设置

  //设置水平居中             $PHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal( \PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('E')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('J')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->getActiveSheet()->getStyle('K')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

5.把数据导入到excel模板里面,我的是个二维数组

 for($i=0;$i<count($deal);$i++){
$currentSheet->setCellValue('A'.($i+3), date('Y-m-d H:i:s', $deal[$i]['create_time'])); //日期
$currentSheet->setCellValue('B'.($i+3),$deal[$i]['deal_type']); //交易类型
$currentSheet->setCellValue('C'.($i+3),$deal[$i]['roll_name']); //支出账户名称
$currentSheet->setCellValue('D'.($i+3),$deal[$i]['roll_user']); //支出账号
$currentSheet->setCellValue('E'.($i+3),$deal[$i]['receive_name']); //收入账号名称
$currentSheet->setCellValue('F'.($i+3),$deal[$i]['receive_user']); //收入账户
$currentSheet->setCellValue('G'.($i+3),$deal[$i]['account']); //交易金额
$currentSheet->setCellValue('H'.($i+3),$deal[$i]['roll_account']); //支出账号交易后余额
$currentSheet->setCellValue('I'.($i+3),$deal[$i]['receive_account']); //收入账号交易后余额
$currentSheet->setCellValue('J'.($i+3),$deal[$i]['user']); //操作员
$currentSheet->setCellValue('K'.($i+3),$deal[$i]['remark']); //订单备注
}

6.这样就可以下载下来了,有两种输出格式,excel输出是有表格线条的,网页输出没有表格线条

         ob_clean();
ob_start();
$objWriteHTML = new \PHPExcel_Writer_Excel2007($PHPExcel); //输出EXCLl格式的对象
header("Content-type: application/octet-stream;charset=utf-8");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="funds.xlsx"'); //日期为文件名后缀
header('Cache-Control: max-age=0');
$objWriteHTML->save("php://output"); exit;//退出

7.完成

PHPExcel的使用的更多相关文章

  1. phpexcel读取输出操作

    //读取 <?php header("Content-Type:text/html;charset=utf-8"); include 'Classes/PHPExcel.ph ...

  2. [moka同学笔记]PHPexcel之excel导出和导入

    原案例来自http://www.sucaihuo.com/有修改 1.目录结构(文件不用解释,应该都可以看得懂,直接看代码)

  3. phpexcel导出数据表格

    1.下载phpexcel(李昌辉) 2.在页面引入phpexcel的类文件,并且造该类的对象 include("../chajian/phpexcel/Classes/PHPExcel.ph ...

  4. phpexcel 字符串转码

    问题状况:在导入excel的时候会出现 PHPExcel_RichText Object ( [_richTextElements:PHPExcel_RichText:] => PHPExcel ...

  5. thinkphp3.2和phpexcel导入

    先整个最基础的代码,理解了这个,后面的就非常简单了 $file_name= './Upload/excel/123456.xls'; import("Org.Util.PHPExcel&qu ...

  6. PHPExcel 大数据的导出

    PHPExcel 是一个php语言读取导出数据.导入生成Excel的类库,使用起来非常方便,但有时会遇到以些问题,比如导出的数据超时,内存溢出等. 下面我们来说说这些问题和解决办法. PHPExcel ...

  7. PHPExcel按单元格读取数据

    import('ORG.Util.PHPExcel.PHPExcel'); $objReader = new PHPExcel_Reader_Excel2007(); //use excel2007 ...

  8. phpexcel读取excel的xls xlsx csv格式

    我之前写过一篇PHP读取csv文件的内容 上代码index.php <?php /** * * @author XC * */ class Excel { public $currentShee ...

  9. 解决 PHPExcel 长数字串显示为科学计数

    解决 PHPExcel 长数字串显示为科学计数 在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号. ...

  10. 黄聪:phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护

    首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...

随机推荐

  1. C语言实现简易2048小游戏

    一直很喜欢玩这个小游戏,简单的游戏中包含运气与思考与策略,喜欢这种简约又不失内涵的游戏风格.于是萌生了用C语言实现一下的想法. 具体代码是模仿这个:https://www.cnblogs.com/ju ...

  2. 阶段小项目1:循环间隔1秒lcd显示红绿蓝

    #include<stdlib.h>#include<stdio.h>#include<string.h>#include<error.h>#inclu ...

  3. 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS

    HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的.所以, Google 的 Chrome 浏览器 ...

  4. [Ccodeforces 736C] Ostap and Tree - 树形DP

    给定一个n个点的树,把其中一些点涂成黑色,使得对于每个点,其最近的黑点的距离不超过K. 树形DP. 设置状态f[i][j]: 当j <= K时: 合法状态,表示i的子树中到根的最近黑点距离为j的 ...

  5. tomcat在centos下的操作

    一 .Tomcat启动与停止 进入Tomcat中bin所在目录 cd /usr/tomcat/bin 启动: ./startup.sh 停止: ./shutdown.sh 平常可以用这个命令来查看to ...

  6. Java经典编程题50道之二十八

    对10个数进行排序. public class Example28 {    public static void main(String[] args) {        int[] s = { 5 ...

  7. 项目中常用的19条MySQL优化

    声明一下:下面的优化方案都是基于 " Mysql-索引-BTree类型 " 的 一.EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划. 下面来个简单 ...

  8. 《设计模式之禅》--设计模式大PK

    创建类模式包括工厂方法模式.建造者模式.抽象工厂模式.单例模式和原型模式. 其中单例模式要保持在内存中只有一个对象,原型模式是要求通过复制的方式产生一个新的对象. [工厂方法(抽象工厂) VS 建造者 ...

  9. 为什么java局部变量没有初始化就会报错,而成员变量没有初始化就不会报错?

    代码如下 1.局部变量,报错!!! public void test(){ int i; System.out.println(i); } 2.成员变量,输出0 int i; @Test public ...

  10. 打造SpringBootTemplate(SpringBoot项目的模版)

    随着框架使用的不断的更新,后面使用SpringBoot会多,这边准备构建一个SpringBoot项目使用的模版. 所谓模版,和之前一样,就是一个最简单的项目,包含所有最简单的空实现. 做模版的时候参考 ...