使用Apache   POI 写入Excel文件,不希望是字符串类型,而希望是数值型,这样不会有一个提示,例如: 解决办法的代码如下: XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet(); Row row = sheet.createRow(0); Cell cell = row.createCell(2);//创建单元格 CellStyle percentCellStyle = workbook.…

2024-02-18 0条评论 121点热度 0人点赞 admin 阅读全文

使用Spring提供的一个下载Office文档的接口报错(具体是使用Apache POI生成OfficeExcel和Word文件),直接输出到HttpServletResponse的OutputStream流,如下报错: org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Fail to save: an error occurs while saving the package : The part /docProps/core.xml f…

2023-10-24 0条评论 276点热度 0人点赞 admin 阅读全文

前面的文章中,介绍了ApachePOI如何利用模板幻灯片文件制作PPT,详见:https://blog.terrynow.com/2023/07/11/apache-poi-generate-ppt-slide-from-template/,实际生成后遇到一个问题,就是每个幻灯片都变成了自动3秒播放,实际的模板也没有自动播放,经过一番搜索,找到解决办法: for (XSLFSlide slide : ppt0.getSlides()) { if (slide.getXmlObject() != null) { sl…

2023-07-15 0条评论 185点热度 0人点赞 admin 阅读全文

项目中遇到一个需求是生成PPT文件,但是一般来说,PPT会比较复杂,我们的做法是先用WPS或者Powerpoint制作好模板PPT文件(模板文件里使用文本占位符${placeholder}来表示要替换的地方),然后读取模板文件,生成实际需要的PPT文件。 如图,使用文本占位符: 代码如下: public void generatePPT() { // 读取模板ppt Path path = Paths.get(pptTemplateFile); XMLSlideShow templatePPT = new XMLS…

2023-07-11 0条评论 357点热度 0人点赞 admin 阅读全文

如题的需求,需要用Java将word的doc(docx)文档转成html,另外word文档中,还有一些图片,需要将图片转成base保存在html中。 需要用到的框架如下: Apache POI xdocreport 相关的maven依赖如下: pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.3<…

2023-06-24 0条评论 324点热度 0人点赞 admin 阅读全文

Java语言将html转换成docx文件,我们使用了Apache POI、poi-tl、poi-tl-ext 基本上大部分的html都能转成docx了,不过还需要一个需求,就是需要将docx文件内容,在特定某一处地方实现分页。 通过查找和自己的研究,实现了在html增加一个特殊的标签,例如:<pbr/> 可以将这个标签在转换成docx的时候,换成分页。 PageBreakRenderer.java import org.apache.poi.xwpf.usermodel.BreakType; impor…

2023-06-17 0条评论 356点热度 0人点赞 admin 阅读全文

使用ApachePOI生成单元格内容的时候,无论内容中是否含有\n等换行符,内容都是不换行的,要让单元格中的内容按照\n换行,需要设置一下CellStyle(setWrapText(true)),并给这个cell设置cellStyle,代码如下: CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setAlignment(HorizontalAlignment.CENTER); cellStyle.setVerticalAlignment(Ver…

2023-06-12 0条评论 309点热度 0人点赞 admin 阅读全文

因为需要一个新功能要把POI升级到5.2.2,pom.xml下直接修改了版本号以后,启动程序导出Excel报错了,如下: java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream 解决办法 看报错是关于commons-io的,经过研究,发现指定commons-io的版本为2.11.0以上即可解决问题 <dependency> <groupId>commons…

2023-01-30 0条评论 548点热度 0人点赞 admin 阅读全文

使用Apache POI生成单元格内容,给单元格设置了边框,代码如下: // 创建带有四个变量的CellStyle CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setBorderBottom(BorderStyle.THIN); cellStyle.setBorderLeft(BorderStyle.THIN); cellStyle.setBorderRight(BorderStyle.THIN); cellStyle.setBorderT…

2022-12-25 0条评论 322点热度 0人点赞 admin 阅读全文

默认情况下使用ApachePOI生成的单元格Cell,我们给Cell设置内容后,如果内容比较多,宽度不够的情况下,里面的文字是不换行的,如果希望文本换行,可以有两种做法 将单元格设置为文本自动换行(推荐) HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setWrapText(true); // 设置cellStyle格式为自动换行 cell.setCellStyle(cellStyle); // 给单元格cell设置cellStyle…

2022-12-24 0条评论 476点热度 0人点赞 admin 阅读全文
12