请教:关于jxl解析具有合并单元格的Excel

原Excel格式

clipboard.png

要实现的样式

clipboard.png

请教如何通过算法实现这种目结果?

不完整代码如下:

private void readExcel() throws IOException, BiffException{  
        
        InputStream stream = new FileInputStream(filePath);  
        
        //获取Excel文件对象  
        Workbook  rwb = Workbook.getWorkbook(stream);  
         
        Sheet sheet = rwb.getSheet(0);  
        
        // 获取合并单元格数组
        Range[] rangeCell = sheet.getMergedCells();
        
        for循环{}
    }  
阅读 3.3k
1 个回答

想办法先读出来二维数组比如:

[
  ["1",       "机械", null,  null,   null],
  ["1.1",     null,  "材料", null,   null],
  ["1.1.1",   null,  null,  "材料1", "12"],
  ["1.1.1.1", null,  null,  "材料2", "11"],
  ["1.2",     null,  "设备", null,   null],
  ["1.2.1",   null,  null,  "设备1", "33"],
]

这个应该通过获得poi的cell的列号能够读出来。

然后把数组下标1~3的合并一下变成下面这样:

[
  ["1",       "机械",  null],
  ["1.1",     "材料",  null],
  ["1.1.1",   "材料1", "12"],
  ["1.1.1.1", "材料2", "11"],
  ["1.2",     "设备",  null],
  ["1.2.1",   "设备1", "33"],
]

最后把这个数组写到新的excel里

推荐问题