加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

YII2框架中excel表格导出的方法详解

发布时间:2021-01-25 16:16:59 所属栏目:编程 来源:网络整理
导读:媒介 表格的导入导出是我们在一般开拓中常常会碰着的一个成果,正巧在最近的项目中做到了关于表格输出的成果,而且之前用TP的时辰也做过,以是想着趁着这次成果较量多样的机遇清算一下,利便往后必要的时辰,可能有必要的伴侣们参考进修,下面话不多说了,来

<tr>
<th rowspan="2">ID
<th rowspan="2">公司名称

3.导出功效

YII2框架中excel表格导出的要领详解

导出数目

YII2框架中excel表格导出的要领详解

导出的文件

YII2框架中excel表格导出的要领详解

根基上可以担保整个进程在2~4秒内处理赏罚完成

三.归并单位格

老板一看做的不错,说你趁便把充值统计的导出也做了把,想想我都是处理赏罚过这么大都据的人了,还不是分分钟搞定的事?来,上原型图

YII2框架中excel表格导出的要领详解

噗,一口老血,话都说了,搞吧。在做的时辰我发明,这次的导出首要是要办理单位格归并的题目。颠末查资料发明,PHP自己是实现不了单位格归并的,于是我规划通过phpexcel来实现

假如是行使PHPExcel的话,根基操纵是这样的(归并A1到E1)

getActiveSheet()->mergeCells('A1:E1'); // 表格添补内容 $objPHPExcel->getActiveSheet()->setCellValue('A1','The quick brown fox.');

功效

YII2框架中excel表格导出的要领详解

可能这样的(归并A1到E4)

getActiveSheet()->mergeCells('A1:E4'); $objPHPExcel->getActiveSheet()->setCellValue('A1','The quick brown fox.');

功效

YII2框架中excel表格导出的要领详解

这样并不能满意我的要求,起首它是一个一个归并的,其次我要表现的充值金额下面的范例是会变革的,不行能牢靠写死,然后每次都变动。以是放弃了这种要领。

其后在小搭档的辅佐下实行用html转存excel的要领

1.要领文件(由于我要天天按时执行,以是并没有写到controller层)

//先界说一个excel文件
$filename = date('【充值统计表】('.date('Y-m-d').'导出)').".xls";
header("Content-Type: application/vnd.ms-execl");
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
//时刻前提
if(empty($params['min'])){
$time = date('Y-m-d',strtotime("+1 day"));
$where = ' created < ' '.$time.''';
}else{
$time = $params['min']+360024;
$time_end = $params['max']+3600
24;
$where = ' created <= ' '.$time_end.'' AND created >= ''.$time.'' ';
}
//充值范例列表
$recharge_type = Recharge::find()->asArray()->all();
if(empty($recharge_type)){
$rechargelist[0]= '';
}else{
$rechargelist = ArrayHelper::map($recharge_type,'id','recharge_name');
}
$rechargelist1 = $rechargelist;
$count = count($rechargelist1);
//行使html语句天生表现的名目
$excel_content = '<meta http-equiv="content-type" content="application/ms-excel; charset=utf-8"/>';
$excel_content .= '<table border="1" style="font-size:14px;">';
$excel_content .= '
充值金额 $t){ $excel_content .= ''; } $excel_content .= ''; //查找最新的固化数据 $search = RechargeStatistics::find()->where($where)->asArray()->all(); if(!empty($search)){ foreach ($search as $key => $value){ $search[$key]['recharge'] = unserialize($value['recharge']); } } //html语句填凑数据 if(empty($search)){ }else{ foreach ($search as $k) { $excel_content .= '$t){ $price = 0; foreach ($k['recharge'] as $q=>$w){ if($w['recharge_id'] == $v){ $price = $w['price']; break; } } $excel_content .= '

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读