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 相关文章推荐
一个改进的UBB类
Oct 09 PHP
php 设计模式之 单例模式
Dec 19 PHP
PHP中的float类型使用说明
Jul 27 PHP
深入php处理整数函数的详解
Jun 09 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
详解PHP数组赋值方法
Nov 07 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
Ajax+PHP实现的删除数据功能示例
Feb 12 PHP
TP5框架请求响应参数实例分析
Oct 17 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 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解析html的实现代码
2011/08/08 PHP
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
php支付宝APP支付功能
2020/07/29 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
Vue单文件组件开发实现过程详解
2020/07/30 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
Python实现的数据结构与算法之链表详解
2015/04/22 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
python pillow库的基础使用教程
2021/01/13 Python
俄罗斯游戏商店:Buka
2020/03/01 全球购物
安全生产承诺书范文
2014/05/22 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP