如何在线生成Word文档?一种极简,极强大的方法,支持图片表格等各种格式

版权声明:本文为博主原创文章,未经博主允许不得转载。

大家在日常工作中会遇到这样的情况,在线给数万人生成一个证书、成绩单什么的,而且要求保存为word文档让大家下载。

难道我们要去学习word的编码格式?难道要去找一个word读写库?太复杂了!我们其实只是要把一个Word文档,每次替换几个字而已,对吧?

思路来了:

1、先根据你们业务的要求,制作一个样式丰富好看的Word文档,把里面要替换的内容写成xxxxxxxx, yyyyyyy等通用字符串。

2、然后把这个Word文档另存为xml格式,例如:muban.xml

3、去我的电脑-对应文件夹里面找到 muban.xml ,然后把它重命名为 muban.docx  (为什么不直接在2中保存为docx呢?直接保存为docx格式的话,Office会用二进制的方式写文件。这样就没法做后面的替换了)

4、把做好的 muban.docx 上传到服务器

5. 把下面的一段代码也放到服务器,保存为index.php

[php] view plaincopy

  1. <?php  
  2. function edit($file, $needle, $heap) {  
  3.   $content = @file_get_contents($file);  
  4.   if(!$content){  
  5.     echo "文件找不到";  
  6.     return false;  
  7.   }  
  8.   $content = preg_replace("/$needle/", $heap, $content);  
  9.   return $content;  
  10. }  
  11. $sheet_title = 'chengjidan.docx';  
  12. header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');  
  13. header('Content-Disposition: attachment;filename="'.$sheet_title. '"');  
  14. header('Cache-Control: max-age=0');  
  15. ob_clean(); // 必须加这一句,否则生成的文件可能打不开。因为有额外的输出。  
  16. echo edit('muban.docx', 'xxxxxxxx', $_REQUEST['name']);   /// xxxxxxxx就是你要替换掉的内容  
  17. exit;  

最后服务器上得到2个文件,一个是index.php,一个是 muban.docx:

[plain] view plaincopy

  1. [root@code wordgen]# ls  
  2. muban.docx   index.php  

6. 通过网站地址: http://your_web_path/index.php?name=Raywill   就能下载到Word啦~!打开看看,里面的xxxxxxx全部被替换成Raywill啦~简单不?!

如果你用的不是php,而是其他编程语言,也不用担心,思路都是一样的。读文件,替换,输出,如此而已。

时间: 2024-10-25 04:00:05

如何在线生成Word文档?一种极简,极强大的方法,支持图片表格等各种格式的相关文章

PHP生成word文档的三种实现方式_php实例

最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计博客园上net技术大牛比较多吧,如果把java,.net,php比作程序员的女友,那么java是Oracle门下的大家闺秀,.net微软旗下的名门望族,PHP则是草根门下的山村野姑,这让我等PHP草民闷骚男情何以堪情何以堪..牢骚发完了,正式写吧 PHP生成word原理 利用windows下面的 com组件 利用PHP将内

巧用ASP实现在线生成PDF文档

    在开始讲解ASP实现在线生成PDF文档之前我们先了解一下PDF的历史,了解了某个东西,知道他的作用性以及重要性,再去学习该ASP程序相信效果一定不一样.     Adobe PDF格式已经变成很多机构和公司进行跨平台制表的通用媒体格式.尽管我不是这个产品的狂热痴迷者,却不得不接受这样一个事实:用这个格式产生一个协定可能会比用Word还要好.           由于在一家雇用公司工作,我已经把我们所有早期的软件写成能在Internet上运行,这样我们就能和小的子公司共享公用数据库了.然而

php生成word文档

利用php生成word文档,生成的word文件可以用word,wps等软件打开.具体代码如下: function word($data,$fileName=""){ if(empty($data)) return ""; $data="<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:off

ASP生成Word文档的又一方法

word 在网上,利用Asp生成Word文档的方法实在不少,最常见到的方法就是利用Word生成.dot的文档,再用Asp向.dot文档中传递宏,这种方法虽好,但实现起来非常复杂,而且不能循环生成表格. 在实际应用中,我总结出来一种新的生成Word文件的方法,生成的Word文件有页眉.页角,现拿出一例与大家探讨. 实现: 我的解决办法,用Word XP(其他版本还没有试过)制作表格,将做好的Word表格转换为HTML文档,在用ASP控制转换后HTML文档. 页眉.页角的解决办法,在转换带Word页

用Aspose.Words for .NET动态生成word文档中的数据表格

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

asp.net下用Aspose.Words for .NET动态生成word文档中的数据表格的方法

最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个----动态

根据标准word模板生成word文档类库(开源)

前言                                                                                                                              最近因项目需要要自定义标准word模板,并以编码方式操作word模板.填充数据和生成word文档,于是自己写了条小"内裤"来实现这个功能.该"内 裤"只针对ooxml格式的word文档,当然大家可以用Aspose.

C#编程实现动态生成Word文档

如何用C#编程实现动态生成Word文档并填充数据的效果呢?要使用C#操作word,首先要添加引用     1.添加引用->COM->Microsoft Word 11.0 Object Library     2.在.cs文件中添加     using  Word;     下面的例子中包括C#对Word文档的创建.插入表格.设置样式等操作:     (例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)     public   string  CreateWor

PHP教程实例:用PHP脚本生成word文档的程序

PHP生成word文档的代码,这个是用来生产试卷的简单PHP代码 <?php //初始化session session_start(); // 包含数据库连接文件和头文件 ?> <html> <head> <title>试卷生成</title> <link href="css/style.css" rel="stylesheet" type="text/css"> </