Excel не вставляет, но заменяет строки - PullRequest
0 голосов
/ 11 февраля 2020

Поэтому я пытаюсь сначала скопировать сводную таблицу в качестве значений, значения уже вставлены, но затем, когда я хочу вставить указанную строку c, выше значений сводной таблицы, sheet.createrow (0) заменяет предыдущий Я не знаю почему. вот мой код

for (int iSheet = 0; iSheet < sheets; iSheet++) {
            sheet = workbook.getSheetAt(iSheet); 
            if (sheet != null) {
                mySheet = myWorkBook.createSheet(sheet.getSheetName());
                mySheet.createRow(0); //creating the first row
                fRow = sheet.getFirstRowNum();
                lRow = sheet.getLastRowNum();
                for (int iRow  = fRow; iRow <= lRow; iRow++) {
                    row = sheet.getRow(iRow);
                    myRow = mySheet.createRow(iRow);
                    if (row != null) {
                        fCell = row.getFirstCellNum();
                        lCell = row.getLastCellNum();
                        for (int iCell = fCell; iCell < lCell; iCell++) {
                            cell = row.getCell(iCell);
                            myCell = myRow.createCell(iCell);
                            if (cell != null) {
                                myCell.setCellType(cell.getCellType());
                                switch (cell.getCellType()) {
                                case BLANK:
                                    myCell.setCellValue("");
                                    break;

                                case BOOLEAN:
                                    myCell.setCellValue(cell.getBooleanCellValue());
                                    break;

                                case ERROR:
                                    myCell.setCellErrorValue(cell.getErrorCellValue());
                                    break;

                                case FORMULA:
                                    myCell.setCellFormula(cell.getCellFormula());
                                    break;

                                case NUMERIC:
                                    myCell.setCellValue(cell.getNumericCellValue());
                                    break;

                                case STRING:
                                    myCell.setCellValue(cell.getStringCellValue());
                                    break;
                                default:
                                    myCell.setCellFormula(cell.getCellFormula());
                                }
                            }
                        }
                    }
                }
            }
        }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...