xlsx 파일이 있습니다. Java 6에서 api poi 3.17을 읽었습니다. 한 인스턴스에서 123456789011이라는 값을 가진 셀이 있습니다. 이것은 숫자가 CellTypeEnum 인 Java로 읽혀집니다. 내가 DataFormatter를 사용하는 경우이 같은 셀의 값을 얻을 수 있습니다 :Apache POI DataFormatter가 과학 표기법을 반환합니다.
DataFormatter formatter = new DataFormatter(Locale.US); String strVal = formatter.formatCellValue(cell);
문자열 값은 "1.234567 + 11"로 나온다. 셀에 "123456789011"이라는 실제 가치가 필요합니다. 어떻게해야합니까?
이미 Java에서 BigDecimal을 사용하여 String을 변환하려고했지만 "123456700000"이 반환됩니다. 이는 주어진 정보로 할 수있는 최선의 방법입니다. 실제 셀 객체에서 올바른 값을 가져와야 함을 의미합니다. 나는 또한 cell.getNumericCellValue()를 사용하여 시도했으나 원래 값을 처리하기에는 너무 작은 제한을 갖는 double을 반환하므로 검색의 다른 메소드와 동일한 문제가있는 "1.234567E11"으로 검색됩니다.
xlsx에 입력 된 원래 셀에서 문자열로 값을 가져 오는 방법이 있습니까? 원래 xlsx에 대한 권한이 없습니다.
감사합니다.
왜 Cell.getNumericCellValue()를 사용하지 않으시겠습니까? 형식을 적용하지 않고 실제 값을 double 값으로 반환해야합니다. – centic
그 질문에 포함되어 있습니다 – user3813942
여기를 보시려면 https://stackoverflow.com/questions/16098046/how-to-print-double-value-without-scientific-notation-using-java – matrix