鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ 請(qǐng)教:關(guān)于jxl解析具有合并單元格的Excel

請(qǐng)教:關(guān)于jxl解析具有合并單元格的Excel

原Excel格式

clipboard.png

要實(shí)現(xiàn)的樣式

clipboard.png

請(qǐng)教如何通過算法實(shí)現(xiàn)這種目結(jié)果?

不完整代碼如下:

private void readExcel() throws IOException, BiffException{  
        
        InputStream stream = new FileInputStream(filePath);  
        
        //獲取Excel文件對(duì)象  
        Workbook  rwb = Workbook.getWorkbook(stream);  
         
        Sheet sheet = rwb.getSheet(0);  
        
        // 獲取合并單元格數(shù)組
        Range[] rangeCell = sheet.getMergedCells();
        
        for循環(huán){}
    }  
回答
編輯回答
舊時(shí)光

想辦法先讀出來二維數(shù)組比如:

[
  ["1",       "機(jī)械", 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,  "設(shè)備", null,   null],
  ["1.2.1",   null,  null,  "設(shè)備1", "33"],
]

這個(gè)應(yīng)該通過獲得poi的cell的列號(hào)能夠讀出來。

然后把數(shù)組下標(biāo)1~3的合并一下變成下面這樣:

[
  ["1",       "機(jī)械",  null],
  ["1.1",     "材料",  null],
  ["1.1.1",   "材料1", "12"],
  ["1.1.1.1", "材料2", "11"],
  ["1.2",     "設(shè)備",  null],
  ["1.2.1",   "設(shè)備1", "33"],
]

最后把這個(gè)數(shù)組寫到新的excel里

2018年4月16日 04:14