php原生导出简单word表格(TP为例) (原)
2023-09-11 14:22:42 时间
后台:
# 菲律宾名单word导出 public function export_word(){ $tids = $_GET['tids']; $userinfo=M("philippines_visa")->where(["philippines_id"=>$tids])->select(); foreach ($userinfo as $key => $value) { $userinfo[$key]['birth'] = explode('-', $value['date_of_birth']); # 出生日期 $userinfo[$key]['birth_m'] = $this->get_month($userinfo[$key]['birth']['1']);#月份英文 $userinfo[$key]['lssue'] = explode('-', $value['lssue_date']); # 签发日期 $userinfo[$key]['lssue_m'] = $this->get_month($userinfo[$key]['lssue']['1']);#月份英文 $userinfo[$key]['expiration'] = explode('-', $value['expiration_date']); # 有效日期 $userinfo[$key]['expiration_m'] = $this->get_month($userinfo[$key]['expiration']['1']);#月份英文 } $user_info = $userinfo; $user_info = array_chunk($user_info, 20, true); # 拆分为20个元素一组的多维数组 (需求而已) $this->assign('user_info',$user_info); $filename = '名单'; ob_start(); //打开缓冲区 $this->display(); header("Cache-Control: public"); Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) { header('Content-Disposition: attachment; filename='.$filename.'.doc'); }else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) { Header('Content-Disposition: attachment; filename='.$filename.'.doc'); } else { header('Content-Disposition: attachment; filename='.$filename.'.doc'); } header("Pragma:no-cache"); header("Expires:0"); ob_end_flush();//输出全部内容到浏览器 }
前端页面:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>菲律宾签证</title> <style> @page{ margin: 30px; } .box{page-break-after:always;} input{font-family: '宋体';} table{ border-collapse: collapse; /*设置列、行间距*/ } table td,table th{ text-align:center; } </style> </head> <body> <!-- 名单模板三 --> <foreach name="user_info" item="user_page" key="key"> <div class="box box7 page" style="border-bottom:none;"> <table> <tr> <th style="width:4%;border:1px solid #000"></th> <th style="width:10%;border:1px solid #000">SURNAME</th> <th style="width:12%;border:1px solid #000">GIVEN NAME</th> <th style="width:5%;border:1px solid #000">SEX</th> <th style="width:5%;border:1px solid #000">(Birth Month) MM</th> <th style="width:5%;border:1px solid #000">(Birth Day) DD</th> <th style="width:5%;border:1px solid #000">(Birth Year) YY</th> <th style="width:12%;border:1px solid #000">Passport Number</th> </tr> <tbody class=""> <foreach name="user_page" item="vo" key="k"> <tr> <td style="border:1px solid #000">{$k+1}</td> <td style="border:1px solid #000">{$vo.english_name}</td> <td style="border:1px solid #000">{$vo.english_name_s}</td> <td style="border:1px solid #000"><eq name='vo.m_sex' value='男'>M<else />F</eq></td> <td style="border:1px solid #000">{$vo['birth']['1']}</td> <td style="border:1px solid #000">{$vo['birth']['2']}</td> <td style="border:1px solid #000">{$vo['birth']['0']}</td> <td style="border:1px solid #000">{$vo.m_visa_number}</td> </tr> </foreach> </tbody> </table> </div> </foreach> </body> </html>
呈现:
相关文章
- php之快速入门学习-13(PHP 循环 - While 循环)
- php单元测试标注(注解)
- PHP unset销毁变量并释放内存
- PHP配合JS导出Excel大量数据
- php 加反斜杠的原因与处理办法
- PHP aws-sdk-php文件存储的实现与应用
- PHP--关于模板的原理和解析(php模板原理)
- PHP大文件分割上传(分片上传)
- 深入理解php内核 编写扩展 I:介绍PHP和Zend
- PHP在Linux系统下安装mbstring扩展
- PHP之旅——出发(php+apache+MySQL)
- 在centos中php 在连接mysql的时候,出现Can't connect to MySQL server on 'XXX' (13)
- PHP输入流php://input介绍
- linux下无法执行PHP命令,错误 php: command not found
- php 一次性替换多个关键词
- php源码安全加密之PHP混淆算法.