OpenCSV - nagłówek w wygenerowanych plikach

OpenCSV - nagłówek w wygenerowanych plikach
tj4java
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:39
0

Poszukuję najlepszego rozwiązania dla swojego problemu, którym jest generowanie plików CSV bez nagłówka. Chciałbym, by na bazie klasy DTO generyczine budował się wiersz z nazwami kolumn.

Obecnie mam metodę writeCSV i wszystko działa należycie, ale chciałbym, żeby w wygenerowanym pliku była linia z nazwami kolumn. Może ktoś ma gdzieś jakieś ładne rozwiązanie lub podpowiedź?

Kopiuj
public static void writeCSV(PrintWriter writer, List<MojaKlasaDto> items) {
		try {
			ColumnPositionMappingStrategy<MojaKlasaDto> mapStrategy = new ColumnPositionMappingStrategy<>();
			mapStrategy.setType(MojaKlasaDto.class);

			List<String> cols = new ArrayList<String>();

			Field[] allFields = mapStrategy.getType().getDeclaredFields();
			for (Field field : allFields) {
				cols.add(field.getName());
			}

			String[] columns = cols.toArray(new String[0]);
			mapStrategy.setColumnMapping(columns);
			
			
			StatefulBeanToCsv<MojaKlasaDto> btcsv = new StatefulBeanToCsvBuilder<MojaKlasaDto>(
					writer).withMappingStrategy(mapStrategy).withSeparator(';').build();
			btcsv.write(items);
		} catch (CsvException ex) {
			log.error("Error mapping Bean to CSV", ex);
		} finally {
			writer.close();
		}
	}
edytowany 2x, ostatnio: tj4java
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:27 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
1

Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
tj4java
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:39
0

Głupio przyznać, ale musiałem tam trafić wcześniej, nawet nie wiem co mogłem robić nie tak, że nie zadziałało.
Dziękuję za link, sprawa załatwiona.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.