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. [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

    转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...

  2. 孤立的SQL用户

    问题 最近公司很多数据库在上云,也有一部分在下云.这期间出现了很多问题,其中一个比较恶心的问题就是"孤立用户".当数据库备份还原以后用以前的用户发现不能登录.一开始以为是登录账号没 ...

  3. socketlog的安装和使用

    socketlog的使用范围  socketlog比较适用于ajax调试和api的调试,经典应用莫不过于微信众多的api使用调试,使用socketlog可以很条理清楚的查看到api传递的参数,加载的性 ...

  4. OpenCV角点检测源代码分析(Harris和ShiTomasi角点)

    OpenCV中常用的角点检测为Harris角点和ShiTomasi角点. 以OpenCV源代码文件 .\opencv\sources\samples\cpp\tutorial_code\Trackin ...

  5. spring boot学习资源

    http://blog.csdn.net/u014695188/article/details/52226134 http://www.jianshu.com/p/887c22723e43 Sprin ...

  6. 织梦autoindex应用 dedecms循环中判断第几条数据

    arclist 标签下使用 [field:global.autoindex/] 默认从1开始 {dede:arclist row='10' titlelen='48' typeid='1' chann ...

  7. 设为首页/加入收藏JS代码

    传统网站常用的设为首页/加入收藏js代码 <a href="javascript:void(0)" onclick="sethome(this,window.loc ...

  8. ubuntu17 安装python3.6 pip

    安装python: wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz .tgz cd Python- #安装编译依赖包 sud ...

  9. hdu 1010 回溯加奇偶性剪枝

    普通的剪枝会超时,必须加入奇偶性剪枝. 直接上图: AC代码: #include<cstdio> #include<cstring> #include<algorithm ...

  10. Nginx 开启gzip压缩(图片,文件,css)

    1.Vim打开Nginx配置文件 vim /usr/local/nginx/conf/nginx.conf 2.找到如下一段,进行修改 gzip on; gzip_min_length 1k; gzi ...