Я хочу создать файл Excel с Apache Poi на основе листа другого файла Excel. Только первые два столбца и соответствующие им строки должны быть применены к новому листу Excel.
Сначала я вставляю все ячейки первого столбца, затем увеличиваю значение columnIndex для вставки других ячеек.
private static void createNewWorkBook(XSSFSheet oldSheet) {
XSSFWorkbook newWorkbook = new XSSFWorkbook();
XSSFSheet newSheet = newWorkbook.createSheet("test-sheet");
for (int columnIndex = 0; columnIndex < 2; columnIndex++) {
int rowIndex = 0;
for (Row oldRow : oldSheet) {
XSSFRow newRow = newSheet.createRow(rowIndex);
XSSFCell newCell = newRow.createCell(columnIndex);
newCell.setCellValue("Hello"); // just for test purposes
// newCell.setCellValue(oldSheet.getRow(rowIndex).getCell(columnIndex).getStringCellValue());
rowIndex++;
}
}
try {
FileOutputStream fos = new FileOutputStream(new File("CreateExcelDemo.xlsx"));
newWorkbook.write(fos);
fos.close();
} catch (
IOException e) {
e.printStackTrace();
}
}
К сожалению, это не работает. Я только получаю значения второго столбца в моем недавно сгенерированном листе Excel. Первый столбец просто пустой.
НО: если я заменю columnIndex на 0 или 1, это работает! Где моя проблема мышления?