
POI
文章平均质量分 92
qijingpei
BAT后端开发工程师。之前接触到的业务很杂,所以学习了很多方向的知识,目前专注于后端方向。
展开
-
POI java.lang.NoSuchMethodError: org.apache.poi.util.IOUtils.peekFirst8Bytes(Ljava/io/InputStream;)
使用POI时,出现了这个异常:java.lang.NoSuchMethodError: org.apache.poi.util.IOUtils.peekFirst8Bytes(Ljava/io/InputStream;)[B错误原因:POI的版本没有一致,比如一个包用了3.13,另一个用了3.15 同样也会造成异常: ClassNotFoundException: org.apac原创 2018-01-28 18:34:54 · 9328 阅读 · 4 评论 -
Java Poi 根据文字内容 插入 word 图片
需求描述如下图,我需要在word里根据一个图片的名字,将名字替换成该图片(公章)思路:用POI遍历每一个表格里的每一行的每一个单元格,如果遇到我自己定义的"&章",则获取后面的图片的名字,然后利用POI的XWPFRun.addPicture(url,像素…)方法将图片添加到word里,然后将原有的文字清除掉。注意:图片要放在表格的单元格里,最后单元格里的文本会被清除掉,只留下图片...原创 2018-11-14 18:45:46 · 19463 阅读 · 9 评论 -
poi 替换word里的\n 变成 换行
需求poi库,将word里的\n变成换行,这样才能把数据库里有换行的数据原样复制到word里,使用了run.addCarriageReturn();回车符,但是不起作用,所以用的是run.addBreak();参考stackoverflow代码public void forverseTableCells(String sourceFile, String targetFile) { XW...原创 2018-11-05 18:48:02 · 8752 阅读 · 13 评论 -
java word 获取每个表格所在的页码 (利用POI+pdf)
需求最近,甲方要求我们对word里的每个表格,计算每个表格所在的页码,虽然直接获取word某个表格在多少页很难(POI没有提供相应的api或者不准确),但是我们想到将word转化为pdf,获取pdf的页数是很简单的。解决方法1)对word生成一个pdf,获取一下页数 2)获取完页数后,就删除一个表格,然后生成一个新的word 3)循环往复知道所有表格被遍历完代码注意:w...原创 2018-07-14 17:41:51 · 10295 阅读 · 10 评论 -
Java POI 删除最后一页空白页
情况1:确定是空白页如果最后一页确定是个空白页,然后有一个换行符占了整整一页,想去掉这个换行符的话,采用这种方式://删除最后一个元素try { int summary = doc.getBodyElements().size(); doc.removeBodyElement(summary-1);}catch(Exception e) { e.printStackTr...原创 2018-07-17 15:25:01 · 8510 阅读 · 7 评论 -
POI word 合并表格的行和列,merge table row and colume,亲测有效
需求描述:对已经生成的word进行处理,要对表格中的行、列进行合并。 参考:https://stackoverflow.com/questions/15984896/how-to-merge-cells-or-apply-colspan-using-xwpftable-in-poi-in-java/data.stackexchange.com?utm_medium=organic&u...原创 2018-06-17 21:05:54 · 16401 阅读 · 12 评论 -
EasyPOI 报错 string can not be cast to list
问题EasyPOI使用模板生成word时,报了这样的错误:string can not be cast to list原因多半是因为某个变量本来是一个String类型,但EasyPOI误认为它是List类型 比如{{fe: 1.5.1 t.id}},我是把一个list存到了map中且命名为了“1.5.1”, 但是EasyPOI在解析模板的时候,不会把“1.5.1”作为一个整体来看...原创 2018-05-11 19:53:54 · 1941 阅读 · 0 评论 -
EasyPOI word模板导出 隐藏单元格边框、隐藏表格某一行边框
问题最近在用EasyPOI的word模板导出功能,遇到了这样的一个需求:在用指令fe:List遍历输出List时,要在中间进行表格的分隔。如果直接把一个表格分成2个,一是可能会影响后面的输出,二是这个表格的表头就不能出现在每一页了(你没听错,我们的甲方就是这么多事情)。 所以我就想到了隐藏左右下边框的办法。 实现效果如图: 也可以把“本部门结束”换成你想要的,但要修改代码中这个地方的...原创 2018-05-11 17:27:41 · 9295 阅读 · 3 评论 -
Java POI word表格某个单元格\行去掉边框 remove word table border
问题:我需要把一个表格中的某一行的左边框和右边框隐藏掉,来达到看起来像是把一个表格分隔开了 比如在图中把第二行的左边框和右边框隐藏掉: 代码:if(currentRow.getCell(0).getText().equals("本检测室结束")) { CTTcBorders tblBorders = currentRow.getCell(0).getCTTc().getTcPr(...原创 2018-05-10 21:49:57 · 11120 阅读 · 8 评论 -
Poi 设置excel 单元格 颜色;setFillBackgroundColor不起作用; poi 设置单元格 样式为百分比
背景:HSSF格式的excel,即比较老旧的.xls后缀的excel,如97-2003版的excel,支持的颜色略少。而XSSF(xlsx后缀)的excel的话(2007以及更新的版本),设置颜色就方便多了核心代码: CellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(Ind...原创 2019-01-31 12:21:21 · 40018 阅读 · 8 评论