jOpenDocument 라이브러리를 사용하여 .ods 스프레드 시트를 처리하고 있습니다. 문자열을 처리하고 있었기 때문에 모든 것이 괜찮 았지만 번호를 처리 할 때는 문제가되었습니다.jOpenDocument. getValueAt (int, int) 반환 값은 String 및 BigDecimal입니다.
내 코드에서 스프레드 시트를 반복하고 인덱스 x, y에있는 셀에 의해 가정 된 값을 기반으로 계산을 수행합니다. 놀랍게도, 내가 얻을 수있는 값의 클래스를 얻을 수 없습니다
BigDecimal ferialestringa;
while (true) {
boolean duplicate = false;
value = (String) sheet.getValueAt(0, count);
System.out.println(sheet.getValueAt(5, count).getClass());
ferialestringa = (BigDecimal) sheet.getValueAt(5, count);
이 조각 지문을 : 당신은 값이 두 개의 서로 다른 클래스에 속하는 나타나는 것을 볼 수 있습니다
class java.math.BigDecimal
class java.lang.String
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.math.BigDecimal
at InspectTwitter.main(InspectTwitter.java:78)
. 클래스가 보이는이 시간이 단지의 BigDecimal 될 것을
class java.math.BigDecimal
Exception in thread "main" java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
at InspectTwitter.main(InspectTwitter.java:78)
참고 :
내가 문자열로 반환 된 객체를 구문 분석하려고하면
, 나는 또 다른 ClassCastException이 얻을.문서를 찾으려고했지만 this javadoc에서 Sheet.getValueAt (String) 만 사용할 수 있습니다. (나는 튜토리얼에서이 방법을 찾았지만, 문자열에서 잘 작동하는 것 같다.) 어떻게해야합니까?