programing

jxl api / Apache POI를 사용하여 기존 Excel 파일 편집

stoneblock 2023. 7. 13. 20:21

jxl api / Apache POI를 사용하여 기존 Excel 파일 편집

저는 자바에 관심이 있고, 기존 엑셀 시트에 쓰는 방법/기존 데이터를 조작하는 방법에 대해 더 알고 싶습니다.기존 엑셀 파일을 편집하고 jxlapi / Apache POI를 사용하여 저장하는 방법에 대한 아이디어를 줄 수 있는지, 아니면 기존 엑셀 파일의 일부 데이터를 편집하고 저장하는 방법에 대한 샘플 프로그램을 줄 수 있는지 궁금합니다. 미리 감사합니다!!

튜토리얼은 매우 유용하고 잘 작성되었습니다.Apache POI 프로젝트에서 개발한 외부 JAR을 사용합니다.다음은 셀 하나를 편집하는 간단한 예입니다.

    InputStream inp = new FileInputStream("wb.xls");
    Workbook wb = WorkbookFactory.create(inp);
    Sheet sheet = wb.getSheetAt([sheet index]);
    Row row = sheet.getRow([row index]);
    Cell cell = row.getCell([cell index]);
    String cellContents = cell.getStringCellValue(); 
    //Modify the cellContents here
    // Write the output to a file
    cell.setCellValue(cellContents); 
    FileOutputStream fileOut = new FileOutputStream("wb.xls");
    wb.write(fileOut);
    fileOut.close();

도움이 되길 바랍니다.

제가 힘들게 배운 아주 중요한 팁 하나입니다.Excel 워크북에 쓰기를 완료한 후에만 OutputStream을 엽니다.Zabbala의 예는 정확하고 정확하게 보여줍니다.OutputStream을 더 일찍 열면 프로그램이 종료된 후 변경 내용이 파일에 기록되지 않고 저처럼 머리를 긁적거릴 수 있습니다.

이에 대한 다른 탭으로 수식을 새로 고칩니다. 다음 문장을 사용합니다.

HSSFSheet worksheetse = workbook.getSheetAt(0);
worksheetse.setForceFormulaRecalculation(true); 

그러나 수식이 있는 모든 탭에 대해 forceFormulaRecalculation 메서드 set을 적용해야 합니다.

영어를 못해서 죄송합니다.

안녕하세요 저는 neXGen과 같은 문제를 가지고 있습니다.하지만 이상하게도 오픈오피스로 파일을 열면 작동합니다!

편집: 아마도 나는 해결책을 찾았고, 값을 변경한 후에 이것을 넣었습니다.

HSSFFormulaEvaluator.evaluateAllFormulaCells(workbook);

언급URL : https://stackoverflow.com/questions/521274/edit-existing-excel-files-using-jxl-api-apache-poi