phpexcel 上传
<?php
require_once(ROOTPATH . "inc/PHPExcel/PHPExcel.class.php");//PHPExcel//获取数据
$objPHPExcel = new PHPExcel();//实例化PHPExcel类
$objSheet = $objPHPExcel->getActiveSheet();//获得当前活动sheet的活动对象
$objSheet->setTitle("****表");//设置当前活动Sheet名称
$objSheet->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER)->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//设置excel文件默认水平垂直方向居中 $cellKey = array(
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM',
'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ'
); //手动填充表头信息
$i = 0;
$condition[]='缴费类型';
$condition[]='缴费人姓名';
$condition[]='缴费金额';
$condition[]='缴费有效期开始日期';
$condition[]='缴费有效期结束日期';
$condition[]='提醒';
foreach ($condition as $key => $val) {
$width = strlen($val) < 15 ? 15 : (strlen($val) + 5);
$objPHPExcel->getActiveSheet()->getColumnDimension($cellKey[$i])->setWidth($width);
$objSheet->setCellValue($cellKey[$i++] . '1', $val);
}
//填充数据
#行数
$js=1;
for ($i = 1; $i < count($data) + 1; $i++) {
$x = 0;
#是否有缴费记录
$cz=0;
foreach ($data[$i - 1] as $key => $value) {
//当有物业费记录时 换到下一行填充数据
if($key=='wyf'){
$cz=1;
$js++;
$sum1=0;
foreach ($value as $k =>$v){
$width = strlen($v) < 15 ? 15 : (strlen($v) + 5);
$objPHPExcel->getActiveSheet()->getColumnDimension($cellKey[$i])->setWidth($width);
$objSheet->setCellValue($cellKey[$sum1++] . $js, $v);
}
//当有停车费记录时 换到下一行填充数据
}else if($key=='tcf'){
$cz=1;
$js++;
$sum1=0;
foreach ($value as $k =>$v){
$width = strlen($v) < 15 ? 15 : (strlen($v) + 5);
$objPHPExcel->getActiveSheet()->getColumnDimension($cellKey[$i])->setWidth($width);
$objSheet->setCellValue($cellKey[$sum1++] . $js, $v);
}
} else{
if($_POST['chooice']==1){
if($data[$i - 1]['wyf'] || $data[$i - 1]['tcf']){
$js++;
$width = strlen($value) < 15 ? 15 : (strlen($value) + 5);
$objPHPExcel->getActiveSheet()->getColumnDimension($cellKey[$i])->setWidth($width);
$objSheet->setCellValue($cellKey[$x++] . $js, $value);
$objSheet->mergeCells($cellKey[0] . $js.":".$cellKey[5] . $js);//合并A1-E1之间的单元格
}
}else{
$js++;
$width = strlen($value) < 15 ? 15 : (strlen($value) + 5);
$objSheet->setCellValue($cellKey[$x++] . $js, $value);
$objSheet->mergeCells($cellKey[0] . $js.":".$cellKey[5] . $js);//合并A1-E1之间的单元格
}
} }
}
$objPHPExcel->createSheet(); //创建一个WorkSheet $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');//生成excel文件 如:Excel2007
browser_export('Excel2007', '物业管理缴费表.xlsx');//输出到浏览器 设置游览器保存文件名
$objWriter->save("php://output"); function browser_export($type, $filename)
{
if ($type == "Excel5") {
header('Content-Type: application/vnd.ms-excel');//告诉浏览器将要输出excel03文件
} else {
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器数据excel07文件
}
header('Content-Disposition: attachment;filename="' . $filename . '"');//告诉浏览器将输出文件的名称
header('Cache-Control: max-age=0');//禁止缓存
}
/***
* @param $fromTime
* @param $toTime
* @return string
* 计算相差时间
*/
function calcTime($fromTime, $toTime){ //转时间戳
$fromTime = strtotime($fromTime);
$toTime = strtotime($toTime);
//计算时间差
$newTime = $toTime - $fromTime;
return round($newTime / 86400);
} ?>
phpexcel 上传的更多相关文章
- PHPExcel上传sae遇到: -1:fail to get xml content
在用PHPExcel1.8.0来处理excel时,本地测试时好使的,但是要把代码部署到SAE,在上传代码的时候就会遇到这个问题. 部署代码中遇到问题: -1:fail to get xml conte ...
- 使用phpexcel上传下载excel文件
1. 下载 <?php /** * Created by lonm.shi. * Date: 2012-02-09 * Time: 下午4:54 * To change this templat ...
- 关于PHPExcel上传Excel单元格富文本和时间类型读取数据问题
当用PHPExcel做Excel上传文件读取数据时,print_r出来的数据,竟然发现其中有几个单元格返回的是PHPExcel富文本对象,而且时间类型的单元格返回的是一个不是时间戳的五位数.就像下图那 ...
- php上传excle文件,csv文件解析为二维数组
解析上传的CSV文件不是什么难事,直接读取转成你想要的数组样子就OK了. public function putStoreStockIn ($filePath = '') { $file = fope ...
- PHPexcel:多sheet上传和下载
excel表格上传和下载,断断续续写了很久,赶紧记下来万一以后忘记就亏大了= = 数据库有三张表:
- Thinkphp5+PHPExcel实现批量上传表格数据功能
http://www.jb51.net/article/129262.htm 1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHP ...
- Thinkphp5+PHPExcel实现批量上传表格数据
1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHPExcel文件放在这里 2.前端代码 <!DOCTYPE html> ...
- 使用phpExcel批量上传excel表数据到mysql数据库中
/*批量上传数据*/ if(isset($_POST['submit']) && $_POST['submit']=='上传文件') { //导入类文件 require_once (& ...
- jQuery+php+ajax+PHPExcel实现上传excel文件导入数据库
项目中需要批量导入数据,感觉这个需求以后也会经常用,必须总结分享下: 引入jquery的第三方表单插件: <scripttype="text/javascript&qu ...
- PHPExcel实现上传excel文件导入数据库
项目中需要批量导入数据,感觉这个需求以后也会经常用,必须总结分享下: 引入jquery的第三方表单插件: <scripttype="text/javascript&qu ...
随机推荐
- File类、FileOutputStream
day01 File类 File类的每一个实例可以表示硬盘(文件系统)中的一个文件或目录(实际上表示的是一个抽象路径) 使用File可以做到: 1:访问其表示的文件或目录的属性信息,例如:名字,大小, ...
- [Python]-os模块-文件读取
import os 在Python中,os模块用来处理文件路径,比较方便. os读取文件 在读取文件过程中,最常用的几个功能如下: os.listdir() 获取此目录下的所有目录名,并且存为列表.在 ...
- 痞子衡嵌入式:理解i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值. 关于 FlexSPI 外设的 loo ...
- 【原创】FFMPEG录屏入门指南
下载ffmpeg 点击 ffmpeg官网,选择windows,然后点击Windows builds from gyan.dev: 也可以直接点击 https://www.gyan.dev/ffmpeg ...
- .Net 不受 EAR 的约束
NPUlrk :https://github.com/NPUlrk 同学在 dotnet/runtime 仓库提出了一共问题: https://github.com/dotnet/runtime/d ...
- SkyWalking简要介绍
什么是 SkyWalking 分布式系统的应用程序性能监视工具,专为微服务.云原生架构和基于容器(Docker.K8s.Mesos)架构而设计.提供分布式追踪.服务网格遥测分析.度量聚合和可视化一体化 ...
- Elastic:为Elasticsearch启动https访问
- Fluentd直接传输日志给kafka
官方文档地址:https://docs.fluentd.org/output/kafka td-agent版本自带包含out_kafka2插件,不用再安装了,可以直接使用. 若是使用的是Fluentd ...
- 【前端必会】HtmlWebpackPlugin 和 SplitChunksPlugin 是什么?
背景 了解什么是webpack插件,在来看一下不能不知道的两个插件 HtmlWebpackPlugin 有了这个插件,webpack执行后会自动帮我们在dist目录生成一个html文件,并且添加bun ...
- 【设计模式】Java设计模式 - 命令模式
Java设计模式 - 命令模式 生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! 目录 Ja ...