默认情况下用ApachePOI生成的Excel,单元格Cell所在的那一列(Column)的宽度都很窄,用户下载后,需要每一个单元格都手动拉宽才能显示内容,比较不方便。 POI中可以有以上几种方式,从代码中设置单元格宽度: 宽度的参数要乘以256,这是怎么回事呢?其实,这个参数的单位是1/256个字符宽度,20 * 256 就是20个字符的宽度 # 我们假设要给单元格设置宽度是20 (以下都要将需要的宽度乘以256传进去) # 设置Sheet下所有的单元格的默认宽度是20 sheet.setDefaultColum…

2022-11-29 0条评论 800点热度 0人点赞 admin 阅读全文

需求是要给POI生成的Cell单元格内容加文字颜色(或者背景颜色),实操后发现,设置颜色并没有和之前的普通程序(例如Html里面给文字加颜色,可以是RBG或者#FF00FF这样的颜色) 下来面实例看下: Font font = workbook.createFont(); font.setBold(true); // 设置字体颜色是红色 font.setColor(HSSFColor.HSSFColorPredefined.RED.getIndex()); CellStyle cellStyle = workboo…

2022-11-09 0条评论 1288点热度 0人点赞 admin 阅读全文

在使用ApachePOI生成Excel,遇到一个问题,就是单元格合并功能: sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol)); 发现合并后的单元格,内容是空白的 合并的单元格,内容是根据合并前的单元格的第一行第一列的数据的,所以写程序的时候,要注意给合并前的最初的那个单元格赋值就可以了。

2022-11-04 0条评论 350点热度 0人点赞 admin 阅读全文

使用ApachePOI读取Excel的时候,如果单元格是日期的格式,通过判断cell.getCellType() 得到的是Cell.CELL_TYPE_NUMERIC,进而使用cell.getNumericCellValue() 获取到单元格内容,但是读取到的却是类似44840.611111这样的数字 经过一番查找资料,结论是,Excel单元格存储日期、时间均以数值类型进行存储,读取时POI先判断是是否是数值类型,再根据CellStyle来判断日期格式,再进行判断转化。 总结如下: 数值格式(CELL_TYPE_N…

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

在使用ApachePOI做Excel导出的时候,如果遇到日期类型的单元格内容,我们不希望简单把单元格内容赋值成String文本,而是希望给单元格复制成Excel能认得的Date日期类型,以便在Excel中做一些计算或者统计。 如图代码很简单: Cell cell = row.createCell(i); Date date = new Date(); // 实际的日期从业务中来 cell.setCellValue(date); 不过生成了Excel后,就变成这样了(可以看到新建日期和更新日期里的内容都变成小数了):…

2022-10-20 0条评论 613点热度 0人点赞 admin 阅读全文

在使用Apache POI处理Excel的时候,应用部署到Linux后,遇到一个报错,如下: Caused by: java.lang.NullPointerException at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225) …

2022-10-09 0条评论 564点热度 0人点赞 admin 阅读全文

使用Apache的POI读取Excel,遇到一个问题,读取Excel中的日期类型的Cell,发现读出来的是double类型的数值,如下代码: String cellValue = cell.getCellTypeEnum() == CellType.NUMERIC ? new DecimalFormat("0.####").format(cell.getNumericCellValue()) : cell.getRichStringCellValue().toString().trim(); 原来,POI里有一个关…

2021-08-01 0条评论 1121点热度 0人点赞 admin 阅读全文

在前面的文章,有介绍如何使用 POI 生成 Excel文件以及在 SpringBoot 下生成 Excel 通过 Web 下载,有很多场景下,需要对 Excel 的某些单元格,进行合并的操作。本文将介绍如何使用 POI 合并单元格。 如果是Maven,加入pom.xml: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.…

2021-02-11 0条评论 1402点热度 0人点赞 admin 阅读全文

Java中读写Office文件的类库老大莫属Apache POI了,本篇介绍下如何利用POI写入数据到Excel文件。 如果是Maven,加入pom.xml: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency> <dependency>…

2021-02-03 0条评论 2535点热度 0人点赞 admin 阅读全文

在Spring或者SpringBoot程序里,生成Excel文件比较方便,Spring已经通过org.springframework.web.servlet.view.document.AbstractXlsxView提供了对Excel的支持,我们只需要实现它就可以。 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.…

2021-02-02 1条评论 1465点热度 0人点赞 admin 阅读全文
12