关于JAVA POI WORD操作的一些心得(少见)
word模板替换
1.在进行word模板字符进行替换的时候,如果将要进行替换的标签${example}在NotePad++中写好,再将它直接粘贴到word模板的对应位置,那么在使用run对象进行遍历的时候,标签就会作为一个整体,不会被拆开。
2.如果时在记事本中写好,再从记事本中粘贴到word模板,那么在使用run对象进行遍历进行替换的时候,他会被拆分为${,example,}三个部分。
3.如果你是直接在word模板中直接编写的${example},那恕我直言,自己debug看看吧,我也不知道能被拆成啥样。
总之,模板中的替换标签,尽量不要在模板中进行编写改动,对,强调一遍,就是${example}这个东西。
word删除边框
记住一点:如果你删除某个单元格的边框,发现删不掉,要想想,这个单元格的某个边框和它相邻的单元格的边框是重合的,你得把他们同时删除。
word表格跨行断页
这个玩意儿网上基本没有,看到这个说明你赚了,我亏了。
row.setCantSplitRow(false);
记住这个方法,每个表格的行,调用一下这个方法,弄出来的表格就不会默认时跨行断页了。(row就是表格的行对象)
word生成超链接
word生成超链接,点击报错:“发生了异常错误”,如果你的链接在浏览器没有问题,那么,大概率是超链接太长了。
word生成标题
这是我写的一个小方法,有用就用
/*** 设置标题目录及其样式* @param document 目标文档* @param styles 文档样式编辑器 XWPFStyles styles = document.createStyles();* @param key 标题的ID* @param headLevel 标题的级别* @param size 字体大小* @param color 字体颜色* @param fontStyle 字体样式*/private void createThemeHead(XWPFDocument document, XWPFStyles styles, String key, int headLevel, int size, String color, String fontStyle) {CTStyle ctStyle = CTStyle.Factory.newInstance();ctStyle.setStyleId(key);CTString ctString = CTString.Factory.newInstance();ctString.setVal(key);//绑定idctStyle.setName(ctString); //将文本编辑器设置进入样式编辑器中CTDecimalNumber ctDecimalNumber = CTDecimalNumber.Factory.newInstance();ctDecimalNumber.setVal(BigInteger.valueOf(headLevel)); //可能是设置标题级别ctStyle.setUiPriority(ctDecimalNumber); //将标题级别编辑器加入到样式编辑器中CTOnOff ctOnOff = CTOnOff.Factory.newInstance();ctStyle.setUnhideWhenUsed(ctOnOff); //使用时不隐藏,加入到样式编辑器ctStyle.setQFormat(ctOnOff); //在格式栏进行显示CTPPr ctpPr = CTPPr.Factory.newInstance();ctpPr.setOutlineLvl(ctDecimalNumber); //定义样式给定级别的标题ctStyle.setPPr(ctpPr);XWPFStyle xwpfStyle = new XWPFStyle(ctStyle);//字体大小CTHpsMeasure ctHpsMeasure = CTHpsMeasure.Factory.newInstance();ctHpsMeasure.setVal(BigInteger.valueOf(size));CTHpsMeasure ctHpsMeasure1 = CTHpsMeasure.Factory.newInstance();ctHpsMeasure1.setVal(BigInteger.valueOf(size));CTFonts fonts = CTFonts.Factory.newInstance();if(fontStyle == null || fontStyle.equals("")) {fontStyle = "宋体";}fonts.setAscii(fontStyle); //字体CTRPr ctrPr = CTRPr.Factory.newInstance();ctrPr.setRFonts(fonts);ctrPr.setSz(ctHpsMeasure);ctrPr.setSzCs(ctHpsMeasure1); //字体大小CTColor ctColor = CTColor.Factory.newInstance();ctColor.setVal(hexToBytes(color));ctrPr.setColor(ctColor); //字体颜色xwpfStyle.getCTStyle().setRPr(ctrPr);xwpfStyle.setType(STStyleType.PARAGRAPH);styles.addStyle(xwpfStyle);}/*** 颜色数据格式转换* @param hexString* @return*/public static byte[] hexToBytes(String hexString) {HexBinaryAdapter adapter = new HexBinaryAdapter();byte[] bytes = adapter.unmarshal(hexString);return bytes;}
不要随便转载啊!!!!!
关于JAVA POI WORD操作的一些心得(少见)相关推荐
- JAVA POI Word转PDF convert方法 NullPointException
JAVA POI Word转PDF convert方法 NullPointException 如果操作过通过POI操作过Word,请保证创建run之后run的值不为null,为null将在转换时报错. ...
- Java Poi word 插入图片并添加边框
Java Poi word 插入图片并添加边框 //得到Picture的Base64编码 Base64Picture p1; //打开Word文件 Resource resource = new Cl ...
- java poi word导出
java poi word导出 (含有文字,图像) 导出word效果如下: 思路:建立预期导出word效果,设置为模板,然后填充对应信息,注意,加粗,居中等一些图片,文字格式预先设置好.然后进行文字或 ...
- poi word操作之XWPFTable合并单元格
poi word操作之XWPFTable合并单元格 需要注意,要合并的单元格最好不要有其他的合并样式. 跨列合并单元格 /** * @Description: 跨列合并 * table要合并单元格的表 ...
- poi word操作之向单元格内添加图片
poi word操作之向单元格内添加图片 1,主要难点: poi word操作之向单元格内添加图片考虑的点: 1)考虑图片在单元格内的占比(动态的调整图片在文档中的宽高) 2,解决步骤 1)首先需要获 ...
- Java poi word模板填充数据、复制行删除行
Java poi word模板填充数据 1.明细表格式 ${list_xxxxx} 普通格式 ${xxxxxx} 2.replaceInTable方法中 table.removeRow(2); 第三行 ...
- Java poi XWPFDocument 操作2007Word,实现参数替换、新增 插入 替换 表格数据、创建饼状图、柱形图、折线图
工作中经常会用到 Apache POI去操作Word文档,自己整理了一个工具类,简单实用,其中包含了新建标题.段落.表格.饼图.柱形图.折线图等方法.先上效果图 在pom文件中引入依赖 <dep ...
- java poi word excel 表格 图标
最全: java使用poi在word中生成柱状图.折线图.饼图.柱状图+折线图组合图.动态表格.文本替换.图片替换.更新内置Excel数据.更新插入的文本框内容.合并表格单元格:_我们都有的博客-CS ...
- java poi之操作ppt\pptx
引言 java poi操作ppt,对ppt进行读写操作 1. 处理pptx格式 pptx格式需要使用XMLSlideShow处理 DealPptX.java 入口函数 @SpringBootTest ...
最新文章
- Pycharm同步git代码提示:Merge failed
- 【数字信号处理】傅里叶变换性质 ( 共轭对称与共轭反对称图像示例 | 实序列中共轭对称是偶对称 | 实序列中共轭反对称是奇对称 )
- ubuntu14.04、CentOS安装oracle 11g数据库【转载】
- 297. Serialize and Deserialize Binary Tree
- java jsp中控件绑定_jsp页面常用控件
- 存储过程——创建通用存储过程(七)
- 使用Spring Boot和Kubernetes构建微服务架构
- 洛谷——P1478 陶陶摘苹果(升级版)
- 我们应该如何保护用户的密码
- iPhone应用可用性的试探性分析
- 实现手机访问网站时点击手机号码直接拨打电话的功能
- java 爬取微信公众号文章 - 搜狗微信搜索
- Windows API函数大全(1)
- EasyRecovery最新免费专业版数据恢复软件
- 自动化技术、计算机技术核心期刊整理及介绍
- Oracle身份证校验函数
- Science:无氧世界的古菌氨氧化
- 如何用U盘重新安装Win10系统
- Android常用颜色收集colors.xml
- 数据库的用户名及密码