84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
如上图,需要读取excel中的“9月份计划” 但是这里是合并的单元格,请问 怎么读取合格单元格的值,有什么好的思路么
认证高级PHP讲师
POI 3.12
依赖的包:
代码:
public class POITest {
public static void main(String[] args) throws Exception { File inputFile = new File("d:\\test.xlsx"); InputStream is = new FileInputStream(inputFile); Workbook wb = new XSSFWorkbook(is); Sheet sheet = wb.getSheetAt(0); // 遍历合并区域 for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress region = sheet.getMergedRegion(i); // int colIndex = region.getFirstColumn(); // 合并区域首列位置 int rowNum = region.getFirstRow(); // 合并区域首行位置 System.out.println("第[" + i + "]个合并区域:" + sheet.getRow(rowNum).getCell(colIndex).getStringCellValue()); } // 直接调用,我知道合并单元格的位置: System.out.println(sheet.getRow(0).getCell(0).getStringCellValue()); System.out.println(sheet.getRow(3).getCell(2).getStringCellValue()); wb.close(); is.close(); }
}输出:
第[0]个合并区域:foo 第[1]个合并区域:bar foo bar
用到的test.xlsx:
说白了,合并区域通过首列和首行来索引,如果你知道你的合并区域是sheet中的第几个,就不用遍历,直接调sheet.getMergedRegion()就行了。
sheet.getMergedRegion()
POI 3.12
依赖的包:
代码:
public class POITest {
}
输出:
用到的test.xlsx:
说白了,合并区域通过首列和首行来索引,如果你知道你的合并区域是sheet中的第几个,就不用遍历,直接调
sheet.getMergedRegion()
就行了。