반응형
Apache poi를 사용하여 Excel 셀에서 항상 소수점 두 개 표시
예를들면,
XSSFCellStyle style=(XSSFCellStyle) workbook.createCellStyle();
style.setDataFormat(workbook.createDataFormat().getFormat("#.##"));
productCell.setCellValue(12.4);
productCell.setCellType(Cell.CELL_TYPE_NUMERIC);
productCell.setCellStyle(style);
표시됩니다.12.4
지정된 셀에 있습니다.그럴 것 같네요.12.40
값12
로 표시됩니다.12.
그것은 꽤 불필요합니다.
값이 다음과 같은 경우0
그러면 점이 표시됩니다..
항상 10진수 두 자리를 표시해야 합니다.0.00
이 경우 셀에 저장되는 값에 관계없이.
숫자 셀에서 항상 두 개의 소수 자릿수를 표시하도록 Excel을 강제하는 방법은 무엇입니까?
다음 스타일 중 하나를 사용하여 숫자 셀을 표시합니다.
XSSFColor commonColor = new XSSFColor(new java.awt.Color(240, 240, 240));
XSSFColor cellBorderColour = new XSSFColor(new java.awt.Color(0, 76, 153));
Font font = workbook.createFont();
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
font.setColor(IndexedColors.DARK_BLUE.index);
XSSFCellStyle style = (XSSFCellStyle) workbook.createCellStyle();
style.setFillForegroundColor(commonColor);
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
style.setAlignment(CellStyle.ALIGN_RIGHT);
style.setFont(font);
style.setBorderLeft(BorderStyle.HAIR);
style.setBorderColor(XSSFCellBorder.BorderSide.LEFT, cellBorderColour);
style.setBorderTop(BorderStyle.HAIR);
style.setBorderColor(XSSFCellBorder.BorderSide.TOP, cellBorderColour);
style.setBorderRight(BorderStyle.HAIR);
style.setBorderColor(XSSFCellBorder.BorderSide.RIGHT, cellBorderColour);
style.setBorderBottom(BorderStyle.DOUBLE);
style.setBottomBorderColor(cellBorderColour);
숫자 셀에 숫자 형식(반올림)을 적용한 후 수행될 것으로 예상되는 숫자 셀에 대한 계산을 수행하기 위해 몇 가지 Excel 공식을 적용했습니다.
Excel 포맷에서 a#
"필요한 경우에만 여기에 숫자를 배치"를 의미하지만,0
는 "불필요한 0인 경우에도 항상 여기에 숫자를 배치"를 의미합니다.Excel 자체에서와 동일하게 Apache POI에서 데이터 형식을 지정할 수 있습니다.만약 당신이 원한다면,0
표시할 숫자, 그리고 당신은 사용해야 합니다.0
형식 지정 숫자입니다.해라
style.setDataFormat(workbook.createDataFormat().getFormat("0.00"));
이것이 가치를 만들 것입니다.0
로 나타나다.0.00
그리고.12.4
~하듯이12.40
.
이것은 나에게 효과가 있었습니다.
셀 스타일 설정
private CellStyle formatDecimalStyle(Workbook workbook, CreationHelper createHelper) { CellStyle style = workbook.createCellStyle(); style.setDataFormat(createHelper.createDataFormat().getFormat("0.00")); return style; }
셀에 스타일 적용
CellStyle style = formatDecimalStyle(workbook, createHelper); Cell creditAmountCell = row.createCell(3); creditAmountCell.setCellValue(amount); creditAmountCell.setCellStyle(style);
언급URL : https://stackoverflow.com/questions/26020075/always-show-two-decimal-points-in-excel-cells-using-apache-poi
반응형
'programing' 카테고리의 다른 글
스프링 부트 - 대체 시작 클래스를 지정하는 방법(다중 진입점) (0) | 2023.07.11 |
---|---|
비동기식으로 요청을 사용하려면 어떻게 해야 합니까? (0) | 2023.07.11 |
쿼리를 사용하여 열을 삭제하지 않고 열의 데이터 유형을 변경하는 방법은 무엇입니까? (0) | 2023.07.06 |
UNIX epoch를 Date 개체로 변환 (0) | 2023.07.06 |
화면 지우기 - Oracle SQL Developer 바로 가기? (0) | 2023.07.06 |