Я создал класс MappingsBean, где указаны все столбцы CSV файла. Затем я разбираю XML файлы и создаю список объектов отображения. Затем я записываю эти данные в CSV файл в качестве отчета.
Я использую следующие аннотации:
public class MappingsBean {
@CsvBindByName(column = "TradeID")
@CsvBindByPosition(position = 0)
private String tradeId;
@CsvBindByName(column = "GWML GUID", required = true)
@CsvBindByPosition(position = 1)
private String gwmlGUID;
@CsvBindByName(column = "MXML GUID", required = true)
@CsvBindByPosition(position = 2)
private String mxmlGUID;
@CsvBindByName(column = "GWML File")
@CsvBindByPosition(position = 3)
private String gwmlFile;
@CsvBindByName(column = "MxML File")
@CsvBindByPosition(position = 4)
private String mxmlFile;
@CsvBindByName(column = "MxML Counterparty")
@CsvBindByPosition(position = 5)
private String mxmlCounterParty;
@CsvBindByName(column = "GWML Counterparty")
@CsvBindByPosition(position = 6)
private String gwmlCounterParty;
}
И затем я использую класс StatefulBeanToCsv
для записи в CSV файл:
File reportFile = new File(reportOutputDir + "/" + REPORT_FILENAME);
Writer writer = new PrintWriter(reportFile);
StatefulBeanToCsv<MappingsBean> beanToCsv = new
StatefulBeanToCsvBuilder(writer).build();
beanToCsv.write(makeFinalMappingBeanList());
writer.close();
Проблема с этим подходом заключается в том, что если я использую @CsvBindByPosition(position = 0)
для управления
тогда я не могу генерировать имена столбцов. Если я использую @CsvBindByName(column = "TradeID")
, тогда я не могу установить положение столбцов.
Есть ли способ, которым я могу использовать обе аннотации, чтобы я мог создавать CSV файлы с заголовками столбцов, а также управлять позицией столбца?
С уважением, Викрам Патрания