正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据.下面还是从简单的例子出发,学习和了解POI的样式设计. 一.我的位置. 1 package com.myjava.poi; 2 3 import java.io.FileOutputStream; 4 import java.util.Date; 5 6 import org.apache.poi.hssf.usermodel.HSSFCell; 7 import org.apache.poi.hss…
POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType()…
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = wb.createCellStyle(); 一.设置背景色: setBorder.setFillForegroundColor((short) 13);// 设置背景色setBorder.setFillPattern…
个人用到的 String birthdayVal = null;                                                                        switch (cell_2.getCellTypeEnum()) {                                            case STRING:                                                  birth…
switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC://数值类型 if (0 == cell.getCellType()) { if (HSSFDateUtil.isCellDateFormatted(cell)) { Date date = cell.getDateCellValue(); DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss&qu…
POI实现EXCEL单元格合并及边框样式     下面例子为创建产生一个excel,合并单元格,然后为合并后的单元格添加边框 package test; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.ap…
最近,公司运营平台需要上传Excel文件并进行解析导入数据库,在开发完成后出现了一个始料不及的生产bug,下面是具体原因: 1.在用POI解析Excel时,默认如果Excel单元格中没有数据,且单元格Style没有边框,那它就是个null,所以只判断了单元格是不是为null 从而导致如果Excel单元格style如果有边框,且单元格内容为null或空字符,会正常的去解析.具体问题原因我在下面代码段里加上了注释,有.xlsx和.xls两段代码,具体内容大同小异 解决方案:我找了一下API 发现XS…
之前我做过一个poi到处excel数据的博客,但是,后面使用起来发现,导出的数据单元格样式都不对. 很多没有居中对齐,很多单元格的格式不对,还有就是单元格的大小不对,导致数据显示异常,虽然功能可以使用但不是很完美. 这里找到网上一个比较全面的简单设置.这么做一个记录,之后就是参考这个单元格的样式配置自己需要的格式. 官方给出的api太难了,还是看中文的吧. POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: Java代码 HSSFWorkbook wb = new…
poi合并单元格同时导出excel POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet. 跨第1行第1个到第2个单元格的操作为 sheet.addMergedRegion(new Region(0,(short)0,0,(short)1)); 跨第1行第1个到第2行第1个单元格的操作为 sheet.addMergedRegion(new Region(0,(short)0,1,(short)0)); 重点注意事项: 1.单元格CELL…
问题 目的是要将Excel中的文字全部显示出来,可以设置对齐格式为[缩小字体填充],但是这样的话只能展示出一行数据,字体会变得很小.还有一种办法,设置对齐格式为[自动换行],然后让单元格中的字体自动调整大小. 我的实现思路是,设置单元格中的字体大小,最大10号字,最小5号字,判断优先使用大的字体:如果最小的5号字也放不下,那就只能调整模板了.关键点就是判断当前字号能否将内容完全展示在单元格中. 需要提前说明一点,我的这个方法是不精确的算法,excel设置字体的时候太强大了,不同的字体的字间距.行…