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 相关文章推荐
PHP5 面向对象程序设计
Feb 13 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
Aug 05 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
Smarty的配置与高级缓存技术分享
Jun 05 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
ThinkPHP3.1新特性之G方法的使用
Jun 19 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
php实现对象克隆的方法
Jun 20 PHP
详细解读PHP中接口的应用
Aug 12 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
Jul 08 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
PHP生成plist数据的方法
2015/06/16 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
node.js基础知识汇总
2020/08/25 Javascript
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python2和Python3中print的用法示例总结
2017/10/25 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
简单了解python数组的基本操作
2019/11/26 Python
Python测试线程应用程序过程解析
2019/12/31 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
机械设备与数控技术专业求职信
2014/08/10 职场文书
党员四风剖析材料
2014/08/27 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
走进毛泽东观后感
2015/06/04 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
Python爬取某拍短视频
2021/06/11 Python
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers