Cześć. Borykam się z pewnym problemem, który "zanieszczyszcza" mi kod, mianowicie, mam obsłużyć excele/csv'ki z ilością kolumn 40+, do tego walidacja, kalkulacie itp. Wykorzystuję apache POI.
W jaki sposób mogę zapobiec tworzeniu 40+ zmiennych?
A dlaczego chcesz zapobiec ich tworzeniu?
mad_penguin napisał(a):
A dlaczego chcesz zapobiec ich tworzeniu?
Wydaje mi się że można zrobić to lepiej, dodatkowo nie spotkałem się w żadnym (dobrze napisanym) programie z tym żeby jakaś klasa zawierała dużą ilość zmiennych, które są walidowane, można się łatwo w tym wszystkim zagubić, zazwyczaj jest to robione w XML'u.
Stwórz obiekt który reprezentuje wiersz. Przykładowo jeśli CSV zawiera klientów to będzie to Customer
.
W kodzie będziesz miał listę klientów po sparsowaniu pliku czyli List<Customer>
Najlepiej to pokaż nam ten kod.
A tak swoją droga to rzeczywiście potrzebujesz tych 40 kolumn? Bo wydaje mi się to dziwne żeby CSVka miała tyle kolumn
Możesz sobie na przykład podzielić te wiersze na kategorie. Nie sądzę, żeby wszystkie kolumny były równie ważne i opisujące ten sam wymiar.
Np jeśli masz wiersz Customer z kolumnami: Name, Surname, Age, Street, City, Postal, AccountNumber, Balance, AccountType...
Podziel to takie klasy:
Customer:
- PersonalInfo
- Name
- Surname
- Age
- Address
- Street
- City
- Postal
- Account
- AccountNumber
- Balance
- AccountType