如何在线生成Word文档?一种极简,极强大的方法,支持图片表格等各种格式-阿里云开发者社区

开发者社区> raywill> 正文

如何在线生成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

  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在CODE上查看代码片派生到我的代码片
  1. [root@code wordgen]# ls  
  2. muban.docx   index.php  


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


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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
巧用JSON.stringify()生成漂亮格式的JSON字符串
巧用JSON.stringify()生成漂亮格式的JSON字符串 使用JavaScript处理XML基本上就是一个杯具,这也是JSON在程序开发中广受欢迎的原因。我曾经写过一个 JavaScript函数来将XML转换为JSON,那种~duang~duang~的痛点简直是折腾得你欲死欲仙。
749 0
VS2010 生成Xml格式的注释文档
项目, 属性, build, 勾选xml document file, 重新build, 即可生成xml注释文件, 然后还得找工具软件(看到anytao推荐SandCastle) 生成更易读的帮助文档.   作者:BobLiu 邮箱:lzd_ren@hotmail.com 出处:http://www.cnblogs.com/liuzhendong 本文版权归作者所有,欢迎转载,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
675 0
+关注
6
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载