不用说,这个功能很常见,也很实用,一个web平台做的好的话,可以为使用者省去不少事情,比如说根据用户填写的数据自动生成word文档。

这两天有人需要,我也就闲着做了个简单的demo,代码也是从网上搜罗了些,网上的文章大多比较乱,就在这里稍微记录一下。

1、纯php生成,用到了ob_start()和ob_get_contents(),用法是ob_start()生成后,在header之后的echo语句会存储在缓冲区,ob_get_contents()用来获取缓冲区的数据。

<?phpclass word{function start(){ob_start();print'<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40">';}function save($path){/*This echo will output to word.*/echo "something";/**/print "</html>";$data = ob_get_contents();ob_end_clean();$this->wirtefile ($path,$data);}function wirtefile ($fn,$data){$fp=fopen($fn,"wb");fwrite($fp,$data);fclose($fp);}}$word=new word;$word->start();echo $cout;$wordname="word/客户.doc";$word->save($wordname);
?>

2、将HTML网页自动保存到word,主要是一句header("Content-Type:application/msword");

<?phpheader("Content-type: text/html; charset=utf8"); //页面编码header("Content-Type:application/msword");   //表示这个页面将要导出为wordheader("Content-Disposition:p_w_upload;filename=".mb_convert_encoding("UUUU","gbk","utf8").".doc");   //该页面导出为word的文档名header("Pragma:no-cache");header("Expires:0");
?>
<html>
<meta http-equiv=Content-Type content="text/html; charset=utf8">
<style media="print" type="text/css">
<!--
body {
margin-left: 0cm;
margin-top: 0cm;
margin-right: 0cm;
margin-bottom: 0cm;
}
-->
</style>
<body>
<table width="100%" style='border-collapse:collapse;'>
<tr><td width='24%' bgcolor='#CCCCCC' style='border:1px solid #000000;font-size:12px;'>客户名称</td><td width='13%' bgcolor='#CCCCCC' style='border:1px solid #000000;font-size:12px;'>电话号码</td><td width='32%' bgcolor="#CCCCCC" style='border:1px solid #000000;font-size:12px;'>客户地址</td><td width='11%' bgcolor="#CCCCCC" style='border:1px solid #000000;font-size:12px;'>添加日期</td><td width='20%' bgcolor="#CCCCCC" style='border:1px solid #000000;font-size:12px;'>客户备注备注</td>
</tr>
<?php/*you can use php+SQL to fetch data.*/
?>
<tr><td style='border:1px solid #000000;font-size:12px;'>HHHH<?php /*echo data*/?></td><td style='border:1px solid #000000;font-size:12px;'>IIIIII<?php /*echo data*/?></td><td style='border:1px solid #000000;font-size:12px;'>UUUU<?php /*echo data*/?></td><td style='border:1px solid #000000;font-size:12px;'>PPPPP<?php /*echo data*/?></td><td style='border:1px solid #000000;font-size:12px;'>&nbsp;</td></tr>
<?php/*using in while*/
?>
</table>
</body>
</html>

转载于:https://blog.51cto.com/xuxueliang/1367855

用PHP生成word文件相关推荐

  1. JSP生成word文件

    1.jsp生成word文件,直接改动jsp格式: <%@ page contentType="application/vnd.ms-word;charset=GB2312"% ...

  2. Java技术:SpringBoot集成FreeMarker生成word文件

                    今天给大家分享SpringBoot集成FreeMarker模板引擎生成word文件的用法,感兴趣的可以学一下,完整源码地址在文章末尾处,欢迎互相沟通交流! 一.什么是F ...

  3. php如何生成本地文档,php如何生成word文件

    php生成word文件的方法: 需求: 甲方爸爸说"我有一个word文件,里面是关于用户信息的表格,你帮我把系统里面所有用户数据都按照这个文件导出来给我": 我当时就不乐意了,啪的 ...

  4. Java使用iText生成word文件的完美解决方案(亲测可行)

    JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 wor ...

  5. Java使用iText生成word文件的解决方案

    JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 wor ...

  6. java itext word_Java使用iText生成word文件的解决方案 | 学步园

    转自[http://www.31km.cn/post/450.html] JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操 ...

  7. PHP导出word【 直接生成word文件 】

     使用composer安装PHPword: composer require phpoffice/phpword  直接生成word文件: public function makePhpWord(){ ...

  8. Python 自动化教程(5) : 自动生成Word文件

    系列教程: Python 自动化教程(1) 概述,第一篇 Excel自动化 Python 自动化教程(2) : Excel自动化:使用pandas库 Python 自动化教程(3) : 自动生成PPT ...

  9. Freemark生成Word文件的加密处理

    Word文件加密处理 Word文件的加密处理 具体实现 Word文件的加密处理 最近完成了一个使用freemark生成文档的需求.本次实现使用的是freemark模板技术. 具体实现 首先使用wps或 ...

  10. 艺赛旗(PRA)根据制式模板批量生成 word 文件

    艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 请看程序运行过程: 操作 word 其实是一件很痛苦的 ...

最新文章

  1. Cell: 为了PK抗生素而服用益生菌?后果竟然如此严重
  2. Mac-使用技巧之快速新建txt文本
  3. day60 Pyhton 框架Django 03
  4. 51Nod - 1024 矩阵中不重复的元素(数学)
  5. jep290涉及jdk版本_JDK 14 / JEP 305模式匹配“ Smart Casts”实例
  6. max转obj_工程动画制作 | Max插件Multiscatter进阶教程
  7. 工程师追查线上问题(或运维)常用的shell命令
  8. 3D游戏案例:滚动天空(超低配版)
  9. android画a4矩形,将Android视图转换为A4大小的PDF
  10. 淘宝数据可视化大屏案例(Hadoop实验)
  11. 计算投资指数基金的预期收益率
  12. 善于计划,善于总结,善于归纳
  13. A005:python 时间处理
  14. C++_DOS命令下_猫狗大战小游戏(初识QT小练习)
  15. Teraterm终端登录CentOS,中文乱码问题解决方法
  16. 计算机中记录是指什么意思,车辆年审的时候车管所电脑信息上显示暂扣状态是什么意思?...
  17. 多路温度检测及报警系统(DS18B20)
  18. PC非正常断电,C盘开机自检
  19. Mesos Framework开发
  20. Linux手工创建新用户

热门文章

  1. js 单页面ajax缓存策略,浅谈ajax的缓存机制---IE浏览器方面
  2. linux文件系统添加pcm,linux下用sox批量将pcm文件加wav头、批量修改采样率、切音频...
  3. android 自定义flowlayout,Android 自定义ViewGroup之实现FlowLayout-标签流容器
  4. 公众号服务器配置url证书问题,公众号服务器配置url,验证token一直出错,为什么?...
  5. 数据交换平台_从零开始理解大数据架构之数据交换平台
  6. java javafx webview_基于JavaFX WebView 的采集开发,了解一下?
  7. c++大作业迷宫游戏 规定时间内完成_孩子写作业慢的7种原因及其解决对策
  8. 计算机e盘拒绝访问,电脑中的D盘与E盘拒绝访问是为什么?
  9. java求阶乘的程序_按要求编写Java程序(阶乘)
  10. sv编程语言_SV及UVM高级话题篇之一:SystemVerilog开源公共库(上)