Java对excel的操作,主要用到poi的包,今天遇到的主要问题是合并单元格格式数据的读取。Excel表如图:

日期水温等等属性是合并单元格格式,读取的时候读取只能通过第一行读取,通过第二行读取时cell不为空,但是cell里的内容为空。
代码:
try {
InputStream is = new FileInputStream("C:\\Users\\ddddf\\Desktop\\database\\szts.xls");
// 打开HSSFWorkbook
POIFSFileSystem fs = new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(fs);
//获取sheet
HSSFSheet st = wb.getSheetAt(0);
HSSFRow hssfRow0 = st.getRow(0);
HSSFRow hssfRow1 = st.getRow(1);
HSSFCell hssfCell0 = hssfRow0.getCell(4);
HSSFCell hssfCell1 = hssfRow1.getCell(4);
System.out.println("第0行:"+getValue(hssfCell0));
System.out.println("第1行:"+getValue(hssfCell1));
} catch (Exception e) {
e.printStackTrace();
}
|
运行结果:
Debug分析:

图一:第0行

图二:第一行
判断代码:
|
if (hssfCell.getStringCellValue() == null || hssfCell.getStringCellValue().equals("")) {
HSSFRow hssfRow0 = hssfSheet.getRow(0);
hssfCell = hssfRow0.getCell(i);
}
|