java IO 基于模板文件替换字符生成word文档
来源:互联网 发布:时间轴软件 编辑:程序博客网 时间:2024/05/22 17:41
有很多人会选择用POI来实现这个功能,虽然说POI第三方包提供了很多方法,但JAVA IO流也不是吃素的,同样也可以实现基于模板文件替换字符生成文档.
这个功能在web应用中还是蛮常见的,用户们喜欢根据自己的模板,然后在加上提供的内容,自动生成出不同的word文档,省时省力.现在直接贴出代码.
public class WangTest { public static void main(String[] args) { String templateContent = null; String filePath = "D:/newWorkSpace20160516/SCPT/WebRoot/template/wangtest.mht";//模版文件 File file = new File(filePath); if (!file.exists() || file.isDirectory()) { } BufferedInputStream in = null; try { in = new BufferedInputStream(new FileInputStream(file)); } catch (FileNotFoundException e) { e.printStackTrace(); } ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);// 用来存装读取到的内容 byte[] temp = new byte[1024]; int size = 0; try { while ((size = in.read(temp)) != -1) { baos.write(temp, 0, size); } in.close(); } catch (IOException e) { e.printStackTrace(); } templateContent = baos.toString(); String content = templateContent; /** * 直接使用String的replace直接替换文档中的占位符,这里写死,同样可以以参数形式传入 */ content = content.replace("${name}", "wangzaogen" + ""); content = content.replace("${sex}", "男" + ""); content = content.replace("${age}", "20" + ""); File wordFile = new File( "D:/newWorkSpace20160516/SCPT/WebRoot/template/+" + 2018 + "wangtest.doc");//转换后的word文档 FileWriter fileWriter; try { fileWriter = new FileWriter(wordFile, true); fileWriter.write(content); fileWriter.close(); } catch (IOException e) { } }}
这里的模板文件是以.mht结尾的文件,不要大惊小怪的,这是由word文档另存为的网页文件
简单的模板内容如下图:
执行main方法后转换的word文档后:
很简单的一段代码,不用引用第三方的jar包即可实现这个功能.
0 0
- java IO 基于模板文件替换字符生成word文档
- java poi 基于模板文件替换字符生成word文档
- Java-POI替换Word模板文档中的变量,生成Word文档
- 基于Java模板技术动态生成Word文档
- PHPWord利用模板替换字符串生成精确的word文档
- PHPWord利用模板替换字符串生成精确的word文档
- POI 使用替换字符方式进行模板生成word
- java根据ftl模板生成word文档
- java poi通过模板生成word文档
- java基于feemarker 生成word文档
- Java根据word模板生成word文档之前言
- Java根据word模板生成word文档之设计架构
- Java根据word模板生成word文档之总结
- poi读写word模板 / java生成word文档
- Asp.net或C#使用word模板生成替换后的Word和pdf文档-总结
- java根据模板生成word文件
- java使用 freemarker 模板生成word文件
- POI应用:利用word模板批量生成word文档(java中word文档的读写)
- JavaScript 删除某个数组中指定的对象
- 蒙特卡罗算法入门
- 关于jquery做文字翻滚效果
- 用户登录成功自动跳转页面
- Flex 布局教程:语法篇
- java IO 基于模板文件替换字符生成word文档
- Spring学习(1)
- 微信公众号代码推送
- oracle常用语句自动补齐
- 搭建一个开发Predix软件的Ubuntu 系统(2)配置使用Predix工业云平台的基础环境
- scala String to Int
- 抽象工厂模式(python)
- C#异步执行操作Helper
- 小试牛刀 - WordCount