PHPExcel的使用
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的使用的更多相关文章
- phpexcel读取输出操作
//读取 <?php header("Content-Type:text/html;charset=utf-8"); include 'Classes/PHPExcel.ph ...
- [moka同学笔记]PHPexcel之excel导出和导入
原案例来自http://www.sucaihuo.com/有修改 1.目录结构(文件不用解释,应该都可以看得懂,直接看代码)
- phpexcel导出数据表格
1.下载phpexcel(李昌辉) 2.在页面引入phpexcel的类文件,并且造该类的对象 include("../chajian/phpexcel/Classes/PHPExcel.ph ...
- phpexcel 字符串转码
问题状况:在导入excel的时候会出现 PHPExcel_RichText Object ( [_richTextElements:PHPExcel_RichText:] => PHPExcel ...
- thinkphp3.2和phpexcel导入
先整个最基础的代码,理解了这个,后面的就非常简单了 $file_name= './Upload/excel/123456.xls'; import("Org.Util.PHPExcel&qu ...
- PHPExcel 大数据的导出
PHPExcel 是一个php语言读取导出数据.导入生成Excel的类库,使用起来非常方便,但有时会遇到以些问题,比如导出的数据超时,内存溢出等. 下面我们来说说这些问题和解决办法. PHPExcel ...
- PHPExcel按单元格读取数据
import('ORG.Util.PHPExcel.PHPExcel'); $objReader = new PHPExcel_Reader_Excel2007(); //use excel2007 ...
- phpexcel读取excel的xls xlsx csv格式
我之前写过一篇PHP读取csv文件的内容 上代码index.php <?php /** * * @author XC * */ class Excel { public $currentShee ...
- 解决 PHPExcel 长数字串显示为科学计数
解决 PHPExcel 长数字串显示为科学计数 在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号. ...
- 黄聪:phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...
随机推荐
- SDN期末作业
期末项目 代码仓库:传送门 视频:组长已经发送给朱老师 选题:负载均衡场景3 选题内容: 该拓扑是数据中心拓扑的一部分,其中h1是数据中心外的一台客户机,h2-h5是数据中心内的服务器,请根据该拓扑实 ...
- IOS教程视频汇总
使用StoryBoard做iOS UI界面跳转
- Go基础之--排序和查找操作
排序操作主要都在sort包中,导入就可以使用了import("sort") 常用的操作 sort.Ints:对整数进行排序sort.Strings:对字符串进行排序sort.Flo ...
- Jenkins 不同角色不同视图及不同权限设置
由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Strategy Plugin,介绍页面:https://wiki.jenki ...
- C控制语句:循环
#include<stdio.h>int main(void){long num;long sum = 0L;int status; printf("Please enter a ...
- CENTOS6.6下mysql MMM架构搭建
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn MMM(Master-Master replication mana ...
- vue.js 安装过程(转载)
一.简介 Vue.js 是什么 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核 ...
- 最长周长三角形 O(nlogn)
题意 有根棍子,棍子的长度为.想要从中选出三根棍子组成周长尽可能长的三角形.请输出最大的周长,若无法组成三角形输出0. 思路 很容易想到采用三重循环来枚举所有三角形,复杂度为. 更好的办法 ...
- hihocoder 1054 滑动解锁 dfs
详细分析见滑动解锁分析 AC代码 #include <cstdio> #include <cmath> #include <cctype> #include < ...
- 【Learning】 动态树分治
简介 动态树分治整体上由点分治发展而来. 点分治是统计树上路径,而动态树分治用来统计与点有关的树上路径,比如多次询问某一些点到询问点的距离和. 前置知识就是点分治. 做法 众所周知,点分树(点分治中重 ...