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企业级应用之常见缓存技术篇
Jan 27 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
PHP的SQL注入过程分析
Jan 06 PHP
解析php防止form重复提交的方法
Jul 01 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php数组合并的二种方法
Mar 21 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
php实现的Curl封装类Curl.class.php用法实例分析
Sep 25 PHP
php获取给定日期相差天数的方法分析
Feb 20 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
Mar 02 PHP
PHP通过GD库实现验证码功能示例
Feb 23 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 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摘要生成函数(无乱码)
2012/02/04 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
解决laravel查询构造器中的别名问题
2019/10/17 PHP
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
[36:43]NB vs Optic 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
python多线程方式执行多个bat代码
2016/06/07 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
python中时间模块的基本使用教程
2019/05/14 Python
Python实现微信好友的数据分析
2019/12/16 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
如何利用python发送邮件
2020/09/26 Python
销售类个人求职信范文
2013/09/25 职场文书
外国语学院毕业生自荐信
2013/10/28 职场文书
学雷锋感言
2015/08/03 职场文书
sql中mod()函数取余数的用法
2021/05/29 SQL Server
防止web项目中的SQL注入
2021/12/06 MySQL
MySQL多表查询机制
2022/03/17 MySQL
PyTorch中的torch.cat简单介绍
2022/03/17 Python
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS