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 ...
随机推荐
- php 获取城市ip
/** * 获取ip城市信息 * CreateBy XueSong * @param string $ip * @return array|bool|mixed */ function getCity ...
- POJ 1860 汇率 SPFA
题意 有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 ...
- HTTP协议探究(序章)
1 HTTP协议基于TCP协议 (1)TCP三次握手连接 HTTP客户端(Chrome浏览器): IP:192.168.1.47 端口:59875 MSS:1460 HTTP服务器(Nginx服务器) ...
- SqlServer学习之触发器
什么是触发器? 根据百度百科的解释,触发器是SqlServer提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,他的执行不是有程序调用,也不是手工启动,而是由事件来 ...
- JS的日期的知识与格式化
需要知道的JS的日期的知识,都在这了 https://juejin.im/post/5d12b308f265da1b7c612746?utm_source=gold_browser_extension ...
- VBA精彩代码分享-1
今天下班前分享一下之前在网上搜到的两段好用的VBA代码,貌似都来自国外,觉得挺好,模仿不来. 第一段的功能是修改VBA控件中的文本框控件,使其右键可以选择粘贴.复制.剪切等: Option Expli ...
- UVA10140PrimeDistance题解--质数/技巧
题目链接 https://www.luogu.org/problemnew/show/UVA10140 分析 \(L,R\)都很大,显然不能直接筛出\(L,R\)区间中的质数,这里需要一个结论 结论 ...
- 连接Linux远程桌面的几个方法
有下面五种方法: 一.通过xshell或putty直接调用程序窗口(通过ssh命令行连接). 二.通过xbrower连接Linux完整的桌面. 通过xshell直接调用程序窗口. rhel5的gdm的 ...
- linux下Django Nginx+uwsgi 安装配置
原文链接 在前面的章节中我们使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, ...
- redis系列二: linux下安装redis
下面介绍在Linux环境下,Redis的安装与配置 一. 安装 1.首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0即可. 2.通过远程管理工 ...