java使用poi(XSSFWorkbook)读取excel(.xlsx)文件
经过一番搜索发现,java操纵excel文件常用的有jxl和poi两种方式,孰好孰坏看自己需求而定。
其中最主要的区别在于jxl不支持.xlsx,而poi支持.xlsx
这里介绍的使用poi方式(XSSFWorkbook),实际上poi提供了HSSFWorkbook和XSSFWorkbook两个实现类。区别在于HSSFWorkbook是针对.xls文件,XSSFWorkbook是针对.xslx文件。
首先明确一下基本概念:
先创建一个工作簿,一个工作簿可以有多个工作表,一个工作表可以有多个行,一个行可以有多个单元格
工作簿 ----------->XSSFWorkbook
工作表 ----------->XSSFSheet
行 ----------->XSSFRow
单元格 ----------->XSSFCell
int colouNum=sheet.getRow(0).getPhysicalNumberOfCells(); //获得总列数
int rowNum=sheet.getLastRowNum(); //获得总行数
使用poi读书excel的时候,会出现空异常,要添加空异常判断
DecimalFormat df = new DecimalFormat("0"); //除去科学计数法
df.format(sheet.getRow(j).getCell(i).getNumericCellValue()).trim(); //并且除去单元格的前后空格
合并单元格:
CellRangeAddress cra =new CellRangeAddress(1, 3, 1, 3); // 起始行, 终止行, 起始列, 终止列
sheet.addMergedRegion(cra);
可参考:https://www.jianshu.com/p/8a74c1c09edc POI