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 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
简单的过滤字符串中的HTML标记
Dec 25 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
php中动态调用函数的方法
Mar 16 PHP
php实现图片转换成ASCII码的方法
Apr 03 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
thinkPHP内置字符串截取函数用法详解
Nov 15 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
Yii框架连表查询操作示例
Sep 06 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 CKEditor 上传图片实现代码
2009/11/06 PHP
PHP应用JSON技巧讲解
2013/02/03 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
JS实现的样式切换功能tableCSS实例
2016/12/30 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[44:40]KG vs LGD 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
深入理解Python装饰器
2016/07/27 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
解决python运行效率不高的问题
2020/07/20 Python
python实现定时发送邮件
2020/12/23 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
美丽家庭事迹材料
2014/05/03 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
2015年林业工作总结
2015/05/14 职场文书
离婚起诉书范本
2015/05/18 职场文书