Поэтому я пытаюсь сначала скопировать сводную таблицу в качестве значений, значения уже вставлены, но затем, когда я хочу вставить указанную строку 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());
}
}
}
}
}
}
}