用PHP生成word文件
不用说,这个功能很常见,也很实用,一个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;'> </td></tr>
<?php/*using in while*/
?>
</table>
</body>
</html>
转载于:https://blog.51cto.com/xuxueliang/1367855
用PHP生成word文件相关推荐
- JSP生成word文件
1.jsp生成word文件,直接改动jsp格式: <%@ page contentType="application/vnd.ms-word;charset=GB2312"% ...
- Java技术:SpringBoot集成FreeMarker生成word文件
今天给大家分享SpringBoot集成FreeMarker模板引擎生成word文件的用法,感兴趣的可以学一下,完整源码地址在文章末尾处,欢迎互相沟通交流! 一.什么是F ...
- php如何生成本地文档,php如何生成word文件
php生成word文件的方法: 需求: 甲方爸爸说"我有一个word文件,里面是关于用户信息的表格,你帮我把系统里面所有用户数据都按照这个文件导出来给我": 我当时就不乐意了,啪的 ...
- Java使用iText生成word文件的完美解决方案(亲测可行)
JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 wor ...
- Java使用iText生成word文件的解决方案
JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 wor ...
- java itext word_Java使用iText生成word文件的解决方案 | 学步园
转自[http://www.31km.cn/post/450.html] JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操 ...
- PHP导出word【 直接生成word文件 】
使用composer安装PHPword: composer require phpoffice/phpword 直接生成word文件: public function makePhpWord(){ ...
- Python 自动化教程(5) : 自动生成Word文件
系列教程: Python 自动化教程(1) 概述,第一篇 Excel自动化 Python 自动化教程(2) : Excel自动化:使用pandas库 Python 自动化教程(3) : 自动生成PPT ...
- Freemark生成Word文件的加密处理
Word文件加密处理 Word文件的加密处理 具体实现 Word文件的加密处理 最近完成了一个使用freemark生成文档的需求.本次实现使用的是freemark模板技术. 具体实现 首先使用wps或 ...
- 艺赛旗(PRA)根据制式模板批量生成 word 文件
艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 请看程序运行过程: 操作 word 其实是一件很痛苦的 ...
最新文章
- Cell: 为了PK抗生素而服用益生菌?后果竟然如此严重
- Mac-使用技巧之快速新建txt文本
- day60 Pyhton 框架Django 03
- 51Nod - 1024 矩阵中不重复的元素(数学)
- jep290涉及jdk版本_JDK 14 / JEP 305模式匹配“ Smart Casts”实例
- max转obj_工程动画制作 | Max插件Multiscatter进阶教程
- 工程师追查线上问题(或运维)常用的shell命令
- 3D游戏案例:滚动天空(超低配版)
- android画a4矩形,将Android视图转换为A4大小的PDF
- 淘宝数据可视化大屏案例(Hadoop实验)
- 计算投资指数基金的预期收益率
- 善于计划,善于总结,善于归纳
- A005:python 时间处理
- C++_DOS命令下_猫狗大战小游戏(初识QT小练习)
- Teraterm终端登录CentOS,中文乱码问题解决方法
- 计算机中记录是指什么意思,车辆年审的时候车管所电脑信息上显示暂扣状态是什么意思?...
- 多路温度检测及报警系统(DS18B20)
- PC非正常断电,C盘开机自检
- Mesos Framework开发
- Linux手工创建新用户
热门文章
- js 单页面ajax缓存策略,浅谈ajax的缓存机制---IE浏览器方面
- linux文件系统添加pcm,linux下用sox批量将pcm文件加wav头、批量修改采样率、切音频...
- android 自定义flowlayout,Android 自定义ViewGroup之实现FlowLayout-标签流容器
- 公众号服务器配置url证书问题,公众号服务器配置url,验证token一直出错,为什么?...
- 数据交换平台_从零开始理解大数据架构之数据交换平台
- java javafx webview_基于JavaFX WebView 的采集开发,了解一下?
- c++大作业迷宫游戏 规定时间内完成_孩子写作业慢的7种原因及其解决对策
- 计算机e盘拒绝访问,电脑中的D盘与E盘拒绝访问是为什么?
- java求阶乘的程序_按要求编写Java程序(阶乘)
- sv编程语言_SV及UVM高级话题篇之一:SystemVerilog开源公共库(上)