@turdubekov
Студент

Как полученный значение excel-файла записать в другой excel в java?

Мне надо: значение полученного exel файла записать в новый excel файл.
excel:
615bd85280891583656942.png

Проблема: Созданный новый excel не открывается, ругается что формат не тот или файл поврежден.
Вопрос: Что не так с моим кодом? Правильно ли я делаю?
код
@PostMapping("/import")
    public void mapReapExcel(@RequestParam("file") MultipartFile reapExcelDataFile) throws IOException {

        XSSFWorkbook workbook = new XSSFWorkbook(reapExcelDataFile.getInputStream());
        XSSFSheet worksheet = workbook.getSheetAt(0);

        // создание самого excel файла в памяти
        XSSFWorkbook wb = new XSSFWorkbook();
        // создание листа с названием "Просто лист"
        XSSFSheet sheet = workbook.createSheet("Просто лист");

        Row row = sheet.createRow(0);
        row.createCell(0).setCellValue("Дата");
        row.createCell(1).setCellValue("ID платежа");
        row.createCell(2).setCellValue("Назаначение платежа");
        row.createCell(3).setCellValue("Сумма");
//        row.createCell(4).setCellValue("Оплата заказа");

        FileOutputStream out = new FileOutputStream(new File("C:\\Users\\xxx\\Desktop\\new_list.xlsx"));

        for (int i = 1; i < worksheet.getPhysicalNumberOfRows(); i++) {
            XSSFRow row2 = worksheet.getRow(i);
            row.createCell(0).setCellValue(row2.getCell(0).toString());
            row.createCell(1).setCellValue(row2.getCell(1).toString());
            row.createCell(2).setCellValue(row2.getCell(2).toString());
            row.createCell(3).setCellValue(row2.getCell(3).getNumericCellValue());
//            String[] str = row2.getCell(2).getStringCellValue().split("#");
//            row.createCell(4).setCellValue(str[1]);
        }

        out.close();

    }
<code> 

P.s буду рад любому совету от Вас
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы