php导出生成word的方法


Posted in PHP onDecember 25, 2015

本文实例讲述了php导出生成word的方法。分享给大家供大家参考,具体如下:

PHP导出word

(1)首先,预览html页面,示例化对象,定义要导出的数据
(2)点击下载页面,给id传值(任何值均可,仅用于判断),如果id有值,输出缓冲文件,保存为word格式。
(3)点击下载后,(如果是图片的话,在保存为word时要使用绝对路径,这样才可以在保存的word中正常显示)
(4)关闭缓存输出

Word_con.php  预览要导出的html文件

<?php
if(@$_GET[id]!='')
{
 include('word_fun.php');
 $word=new word();//示例化对象
 $word->start();//定义要保存数据的开始
}
include('word_show.php');
 if(@$_GET[id]!='')
 {
   $word->save('word_c.doc');//定义要保存数据的结束,同时把数据保存到word中
 }
 if(@$_GET[id]=='')
 {
 //超链接中的x仅仅是为了传一个值,确认下载,没有其他的实际yi
 ?>
 <a href="#"><div onclick="window.location.href='word_con.php?id=x'">点击跳到下载页面</div></a>
 <?php
 }else{
 echo "<a href=\"word_c.doc\">下载</a>";
 }
?>

Word_fun.php  导出word相关函数

<?php
class word
{
function start() //定义要保存数据的开始
{
    ob_start(); //开始输出缓冲
    //设置生成word的格式
    print '<html xmlns="urn:schemas-microsoft-comfficeffice"
    xmlns:w="urn:schemas-microsoft-comffice:word"
    xmlns="http://www.w3.org/TR/REC-html40">';
}
function save($path) //定义要保存数据的结束,同时把数据保存到word中  
//所要保存的数据必须限定在该类的start()和save()之间
{
print "</html>";
$data=ob_get_contents(); //返回内部缓冲的内容 即把输出变成字符串
ob_end_clean(); //结束输出缓冲,清洁(擦除)输出缓冲区并关闭输出缓冲
$this->wirtetoword($path,$data);
}
function wirtetoword($fn,$data) //将数据已二进制的形式保存到word中
{
$fp=fopen($fn,"wb");
fwrite($fp,$data);
fclose($fp);
}
}
?>

Word_show.php  连接数据库,查询相关数据

<?php 
 include('conn.php'); //连接数据库
 $sq="select zf_content from zf where `zf_id`=137";
 $sql=mysql_query($sq);
 while(($que=mysql_fetch_array($sql))!=false)
 {
  echo "<font color=\"red\">hahaahahha</font>";
  echo $que['zf_content'];
 }
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php Mysql日期和时间函数集合
Nov 16 PHP
php MYSQL 数据备份类
Jun 19 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
php中DOMElement操作xml文档实例演示
Mar 26 PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
Yii2选项卡的简单使用
May 26 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
使用PHPExcel导出Excel表
Sep 08 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
大家都应该掌握的PHP关联数组使用技巧
Dec 25 #PHP
[原创]PHP实现逐行删除文件右侧空格的方法
Dec 25 #PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 #PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 #PHP
php实现统计目录文件大小的函数
Dec 25 #PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 #PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 #PHP
You might like
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
详解Bootstrap插件
2016/04/25 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
jQuery实现html双向绑定功能示例
2017/10/09 jQuery
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
对于Python装饰器使用的一些建议
2015/06/03 Python
python反编译学习之字节码详解
2019/05/19 Python
手写一个python迭代器过程详解
2019/08/27 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
企业承诺书怎么写
2014/05/24 职场文书
2015年加油站工作总结
2015/05/13 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript