php原生导出简单word表格(TP为例) (原)
后台:
# 菲律宾名单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原生导出简单word表格(TP为例) (原)的更多相关文章
- PowerDesiger 15逆向生成工程E-R图及导出word表格
应用环境:win8(64位)+oracle10g(32位)服务端+PowerDesigner15 需求:oracle数据库中的表结构是web工程框架hibernate 自动生成,现需要将数据库中已有的 ...
- Java导出带格式的Excel数据到Word表格
前言 在Word中创建报告时,我们经常会遇到这样的情况:我们需要将数据从Excel中复制和粘贴到Word中,这样读者就可以直接在Word中浏览数据,而不用打开Excel文档.在本文中,您将学习如何使用 ...
- 如何通过Java导出带格式的 Excel 数据到 Word 表格
在Word中制作报表时,我们经常需要将Excel中的数据复制粘贴到Word中,这样则可以直接在Word文档中查看数据而无需打开另一个Excel文件.但是如果表格比较长,内容就会存在一定程度的丢失,无法 ...
- mvc中html导出成word下载-简单粗暴方式
由于工作需求,需要把html简历页导出成word下载.网上搜索了很多解决方案,基本都是用一些插件,然后写法也很麻烦,需要创建模板什么的. 固定替换值 代码一大堆.但是对于我的需求来说 并没有什么用 ...
- PHP 导出简单文本内容(word txt等)
PHP导出word文件,简单拓展可导出其他文本类文件 /** * PHP 导出简单文本内容(word txt等) * @param $content mixed 导出内容 (文本string / ht ...
- 如何将mysql表结构导出成Excel格式的(并带备注)另附转为word表格的方法
方法一: 1.使用一个MySQL管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项: 导出的格式如下: 2.要想转成Excel格式的只需手动将该表复制到Excel中去. 方法二: 1.以下用的 ...
- poi导出word表格详解 超详细了
转:非常感谢原作者 poi导出word表格详解 2018年07月20日 10:41:33 Z丶royAl 阅读数:36138 一.效果如下 二.js代码 function export_word( ...
- poi导出word表格跨行
DataCommon.java package com.ksource.pwlp.model.statistic; public class DataCommon { private Long id; ...
- java导出生成word(类似简历导出)
参考帖子: http://www.cnblogs.com/lcngu/p/5247179.html http://www.cnblogs.com/splvxh/archive/2013/03/15/2 ...
随机推荐
- Scala学习二十一——隐式转换和隐式参数
一.本章要点 隐式转换用于类型之间的转换 必须引入隐式转换,并确保它们可以以单个标识符的形式出现在当前作用域 隐式参数列表会要求指定类型的对象.它们可以从当前作用域中以单个标识符定义的隐式对象的获取, ...
- javascript——HTML对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Lua的栈及基本栈操作
Lua的栈及基本栈操作 https://blog.csdn.net/mydriverc2/article/details/51134737 https://blog.csdn.net/mydriver ...
- Hexo折腾记--小白修改新主题
UPDATE 2019.5.28 不好意思我又换了个新主题ARIA啦...这回没有个人定制了 前言 如果您曾经来过我的博客,就会发现我的个人博客(https://rye-catcher.github. ...
- empty和isset的区别
1.empty 判断一个变量是否为空 null.false.0.0.0.’0′.array() .' '.var $a 都会返回true. 2.isset 判断一个变量是否设置 0.00.’0′. ...
- C# list to dictionary
示例: 新建一个类: public class Lang { public string En; public string Ch; } 实例化并转为字典: List<Lang> lang ...
- Javascript绑定事件的两种方式的区别
命名函数 <input type="button" onclick="check()" id="btn"/> <scrip ...
- easyui的combobox默认选中第一个选项
pmProjectSelect.combobox({ editable:false, width:165, url : ctx + '/PmProject/findByProjectMgr', //c ...
- PHP中pdo的使用
<?php /** *下面代码中information为表名 * */ //1.先要连数据库 $pdo=new PDO('mysql:host=localhost;dbname=数据库名','用 ...
- shell脚本——数组
连续的变量 解决:变量过多的问题,在同一类变量中,不需要定义多个名字,而是以数组的方式来定义 定义数组: declare -I 定义整数 declare -a 定义数组 declare -A 定义嵌套 ...