Я пытаюсь скопировать содержимое файла Excel в другой.Но только первый ряд.
Итак, я написал этот код:
// Step 1 : Locate path and file of input excel
File inputFile = new File("path.xlsx")
FileInputStream fis = new FileInputStream(inputFile)
XSSFWorkbook inputWorkbook = new XSSFWorkbook(fis)
int inputSheetCount = inputWorkbook.getNumberOfSheets()
// Step 2 : Locate path and file of output excel
File outputFile = new File("path2.xlsx")
FileOutputStream fos = new FileOutputStream(outputFile)
// Step 3 : Creating workbook for output excel file
XSSFWorkbook outputWorkbook = new XSSFWorkbook()
// Step 4 : Creating sheets with the same name as appearing in input file
for(int i = 0; i < inputSheetCount; i++) {
XSSFSheet inputSheet = inputWorkbook.getSheetAt(i)
String inputSheetName = inputWorkbook.getSheetName(i)
XSSFSheet outputSheet = outputWorkbook.createSheet(inputSheetName)
int numberOfColumns = inputSheet.getRow(0).getPhysicalNumberOfCells()
int columnIndex = 0
while (columnIndex < numberOfColumns && inputSheet.getRow(0).getCell(columnIndex).stringCellValue != '') {
// Step 5 : Creating new Row, Cell and Input value in the newly created sheet
outputSheet.createRow(0).createCell(columnIndex).setCellValue(inputSheet.getRow(0).getCell(columnIndex).stringCellValue)
columnIndex++
}
}
// Step 6 : Write all the sheets in the new Workbook using FileOutStream Object
outputWorkbook.write(fos)
// Step 7 : At the end of the Program close the FileOutputStream object
fos.close()
Однако я столкнулся со странной проблемой.Когда я проверяю выходной файл, устанавливается только последнее значение, а не другие ...
Входной файл
A | B | C
1 | Key Value Comment
2 |
3 |
Выходной файл ожидаемый результат
A | B | C
1 | Key Value Comment
2 |
3 |
Выходной файл фактический результат
A | B | C
1 | Comment
2 |
3 |
У кого-то есть идеи?Большое спасибо!