java操作word模板不借助第三方软件包
来源:互联网 发布:梦幻诛仙龙晶合成算法 编辑:程序博客网 时间:2024/06/11 07:17
本文针对不借助第三方软件包,纯手工编码,使用java操作word模板的童鞋。
先新建一个文件,命名为:word模板.rtf,然后用写字板打开,按你需要的文件样式设计好模板,然后重命名为.doc或.docx文件都可以。word的编码格式有许多种,比如xml编码的,相比较来说,如果不借助第三方软件包,rtf编码的最简单。可以借助第三方软件包的同学可以考虑使用jacob,不用你自己考虑编码的问题。
对于其中要替换的可变字段,最好用特殊符号“$”标识开始和结尾。例如:“公司名称”,在模板中使用字段“$CNAME$”代替,以免发生错误的替换。
如果是直接用word方式打开模板,将字段改为$CNAME$,,此时用EditPlus或者Ultraedit打开,发现$与CNAME之间可能有许多很明显的其他字符,需要删除,否则无法实现替换。
通过java io流就能读取word模板,但是执行文字替换,不能是简单的写入,要了解如何将汉字转换为rtf编码,下面的方法是将一个字符串content转换为rtf编码:
char[] digital ="0123456789ABCDEF".toCharArray();
StringBuffer sb = new StringBuffer("");
byte[] bs = content.getBytes();//这里采用了电脑默认编码,最好指定编码为GBK,content即为待转的字符串。
int bit;
for(int i = 0; i < bs.length;i++) {
//上面通过getBytes()将汉字转为机内码,然后在这个循环体内的操作是将每个汉字的机内码的二进制表示转换为16进制数,并在前面拼上\’,就是该汉字在rtf中的编码表示。
bit = (bs[i] & 0x0f0) >> 4;
sb.append("\\'");
sb.append(digital[bit]);
bit = bs[i] & 0x0f;
sb.append(digital[bit]);
}
return sb.toString();
返回的结果即为rtf可解析的汉字形式,比如,常见的一个例子:“电子与电脑”通过该方法转换为rtf编码就是:\'B5\'E7\'D7\'D3\'D3\'EB\'B5\'E7\'C4\'D4。
- java操作word模板不借助第三方软件包
- java常用第三方软件包
- java常用第三方软件包
- java常用第三方软件包
- java常用第三方软件包
- 不借助第三方 Win7搞定无法删除的文件
- 不借助第三方工具,查看SQL的执行计划
- 两数字交换 不借助第三方变量
- 不借助第三方jar包实现文件上传
- python 不借助第三方包实现xml转json
- 交换两个数的值,不借助第三方变量.
- 交换两个数的值,不借助第三方变量
- 不借助第三方变量交换两个数值
- java操作word模板
- JAVA实现自动打开URL对应的网页并保存为图片-不借助第三方API
- 借助第三方的力量
- Java操作word模板文件
- 不借助第三方程序 无需ie拨号 自动实现adsl拨号上网【ALLyeSNO】
- js/jQuery插件收集
- QT与windows系统修改杂记
- 简单工厂、工厂方法和抽象工厂的区别
- Cocos2d-x--实现Loading界面加载资源
- js写99乘法口诀表
- java操作word模板不借助第三方软件包
- When is a destructor called?
- [openflow] openflow source code download
- JQuery each 遍历
- 大中型互联网项目对session,cookie的使用建议及其跨域处理
- C++ 中 string 相加拼接的效率问题
- Spring学习笔记2——高级特性
- android SharedPreferences
- Leetcode : EditDistance(编程之美3.3)