본문 바로가기
개발/Framework || Lib

POI 수식 재계산

by 백아절현 2019. 3. 19.

이번에 엑셀에 접근해서 값을 set하고, 계산하고 다시 그값을 가져와 DB 저장하는 프로젝트를 하고 있다.


값을 set하는거야 이전에도 여러번 해봐서 별로 어렵지 않았는데, 


수식 재계산하고 반영하고 그값 가져오는 것 때문에 삽질을 여러번 한 것 같다.


//Excel open

Workbook wb = WorkbookFactory.create(in);

FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();

wb.setForceFormulaRecalculation(true);


//cell 접근

CellReference cellReference = new CellReference(cellPstn);

Row row = wb.getSheet(sheetName).getRow(cellReference.getRow());

Cell cell = row.getCell(cellReference.getCol()); 


//value setting

BigDecimal value = new BigDecimal((String)map.get(columnName));

cell.setCellValue(value.doubleValue());


//excel calculation 

evaluator.evaluateInCell(cell); 

CellValue cellValue = evaluator.evaluate(cell);


위와같이 생각보다 쉽게 진행 되었다.


Cell 전체를 모두 재계산 하는것이 아니라 어떤Cell 만 재계산 하는지 미리 알고 있기 때문에 편하게 진행 할 수 있다.


링크 참조 : http://poi.apache.org/components/spreadsheet/eval.html


'개발 > Framework || Lib' 카테고리의 다른 글

블록체인 애플리케이션 개발의 새로운 패러다임  (4) 2024.10.29
Apache Kafka  (0) 2024.10.29
jackcess 사용하기 (JAVA)  (0) 2018.12.05
IBATIS RESUTL 에러  (0) 2010.07.07
Oracle cursor 접근 방법  (0) 2009.10.07

댓글