84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
如上图,需要读取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()
就行了。