mygreen / super-csv-annotation

'Super CSV' extention library for annotation
Apache License 2.0
31 stars 7 forks source link

カラム番号を指定しないで、ラベルによるマッピングする機能を追加 #32

Closed mygreen closed 7 years ago

mygreen commented 7 years ago

基本的な使い方

Beanの定義

// Beanの定義
@CsvBean(heder=true)
public class SampleLazyBean {

      // カラム番号を指定する場合
      @CsvColumn(number=1)
      private int no;

      // カラム番号をしていないで、ヘッダーの見出しのみを指定する場合
      @CsvColumn(label="名称")
      private String name;

      // ラベルを指定しない場合は、フィールド名が採用される。
      @CsvColumn
      private LocalDate birthDay;

      // getter, settterは省略
}

読み込み方法


LazyCsvBeanAnnotationReader<SampleLazyBean> csvRreader = new LazyCsvBeanAnnotationReader<>(
                SampleLazyBean.class,
                new InputStreamReader(new FileInputStream(file), Charset.forName("UTF-8")),
                CsvPreference.STANDARD_PREFERENCE)
);

List<SampleLazyBean> list = csvReader.readAll();

書き出し方法

LazyCsvAnnotationBeanWriter<SampleLazyBean> csvWriter = new LazyCsvAnnotationBeanWriter<>(
                SampleLazyBean.class,
                strWriter,
                CsvPreference.STANDARD_PREFERENCE);

final List<SampleLazyBean> list = /* データの作成 */;
csvWriter.writerAll(list);