Operacja na plikach Excel'a

0

Witam serdecznie.
Mam dość dziwny problem w Javie.
Otóż program, który usiłuję napisać ma za zadanie kopiowanie zawartości poszczególnych komórek z pliku .xlsx i zapisywanie do oddzielnego pliku .xlsx.

Tworzę sobie nową komórkę w docelowym pliku:
Cell cell2C6 = row14.createCell(2);
I następnie wpisuję do niej zawartość komórki (która jest liczbą) z pliku źródłowego:
cell2C6.setCellValue(cellC6.getNumericCellValue());
I wszystko ładnie, prawidłowo śmiga.

Cały problem polega na tym, że zawartość komórki w pliku źródłowy jest zmienna i raz jest to int, a raz string. Dlatego też muszę zastosować sprawdzanie zawartości komórki źródłowej przed wpisaniem. A robię to tak:

switch (cellC6.getCellType()) {
            case Cell.CELL_TYPE_STRING:
                cell2C6.setCellValue(cellC6.getRichStringCellValue().toString());
                break;
            case Cell.CELL_TYPE_NUMERIC:
                cell2C6.setCellValue(cellC6.getNumericCellValue());
                break;
            }

Program odpala się bez żadnych błędów, ale docelowa komórka zostaje pusta. Próbowałem zamieniać switch'a na if'a, ale to też nic nie daje.
Nie mam pojęcia gdzie leży problem.
Będę bardzo wdzięczny jeśli ktoś mi powie o co tutaj chodzi.

Pozdrawiam,
Michał.

up

0

Nie napisałeś nawet z czego korzystasz do obsługi tego excela...

0

z Apache POI

0

A odpaliłeś to pod debugerem i upewniłeś sie ze w ogóle wchodzisz gdzieś z tego case?

0

Chętnie bym Ci odpowiedział, ale nie bardzo rozumiem o co pytasz.

0

Dobra, dokształciłem się na prędkości. Odpaliłem ten program tym debuggerem i nie pokazało żadnych błędów.

1

Słabo mi. Debuger nie wykrywa automatycznie błędów, bo nie do tego służy. Weź łaskawie wstaw breakpointa przed tym twoim case. Następnie uruchom program pod debugerem i jak sie zatrzyma na berakpoincie to przejdź kod krok po kroku (przez "step over/step into) i zobacz czy kod wykonuje się tak jak ci sie wydaje że powinien. Przypuszczam że nie, że omija tego case w ogóle. Zobacz sobie też zawartość zmiennych i będziesz miał odpowiedź czemu nie działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0