Как удалить объединенный регион, используя Apache POI? (Повторяющиеся данные) - PullRequest
1 голос
/ 01 августа 2020

Недавно у меня возникла проблема, связанная с приведенным ниже вопросом

Как удалить объединенный регион с помощью POI?

Хотя вышеперечисленное частично решило мою проблему , Я хотел скопировать данные в другие неслитые ячейки. Я не смог найти в самой библиотеке никакого руководства или функции, чтобы решить эту проблему, поэтому я создал более новую версию на основе приведенного выше

        HSSFWorkbook wb = new HSSFWorkbook(file.getInputStream());
        HSSFSheet sheet = wb.getSheetAt(0);

        for(int i=0; i < sheet.getNumMergedRegions(); i++)
        {
            CellRangeAddress addresses = sheet.getMergedRegion(i);
            for(int x=addresses.getFirstRow()+1;x<addresses.getLastRow();x++)
            {
                HSSFCell cell = sheet.getRow(addresses.getFirstRow()).getCell(addresses.getFirstColumn());
                for(int y=addresses.getFirstColumn();y<=addresses.getLastColumn();y++)
                {
                    sheet.getRow(x).getCell(y).setCellStyle(cell.getCellStyle());
                    switch (cell.getCellType())
                    {
                        case _NONE:{}
                            break;
                        case BLANK:{}
                            break;
                        case STRING:{sheet.getRow(x).getCell(y).setCellValue(cell.getRichStringCellValue());}
                            break;
                        case BOOLEAN:{sheet.getRow(x).getCell(y).setCellValue(cell.getBooleanCellValue());}
                            break;
                        case NUMERIC:{sheet.getRow(x).getCell(y).setCellValue(cell.getNumericCellValue());}
                            break;
                        case FORMULA:{sheet.getRow(x).getCell(y).setCellValue(cell.getCellFormula());}
                    }
                }
            }
        }

Вышеупомянутое решило мою проблему, но, как вы можете видеть, мне пришлось используйте корпус переключателя. Так что я надеялся, что есть другие способы лучше?

...