2010-10-21 5 views
1

Я использую FileHelpers для записи некоторых данных в файл CSV. FileHelpers отлично, потому что он позволяет мне легко форматировать различные поля с помощью преобразователей FileHelper. Вот пример FileHelpers DelimitedRecord:Дьянальный выбор полей CSV

[DelimitedRecord(",")] 
public class ShippedRecord 
{ 

    public string Customer; 

    #quouted as can contain ',' characters 
    [FieldQuoted] 
    public string Address; 

    [FieldConverter(ConverterKind.Date, "yyyy-MM-dd")] 
    public DateTime ShippedDate; 

    [FieldConverter(ConverterKind.Date, "yyyy-MM-dd")] 
    public DateTime ReceivedDate; 

    public string DaysTillDelivery; 

    public string DeliveryStatus; 
} 

Я хотел бы пользователь сможет указать, через конфигурационный файл, который из полей они хотят записываются в файл CSV. Использование FileHelpers, как мне динамически изменять, какие поля выписываются в CSV-файл? Я знаю, что я мог бы использовать что-то вроде DataTable, но я не уверен, как отформатировать поля (цитируемые значения, формат даты и т. Д.), И я предпочел бы использовать простые конвертеры, предоставленные FileHelpers, если это возможно. Если это невозможно, как мне начать форматирование полей в соответствии с приведенной выше примерами с помощью DataTable?

ответ

1

Возможно, вы использовали CsvEngine.DataTableToCsv Method (DataTable, String, CsvOptions)overload и установили 'CsvOptions'. Там, кажется, некоторые параметры конфигурации, доступных в отношении форматов полей, приведенных значений, форматов даты и т.д.

(я не пробовал это сам, хотя)

+0

я смотрел на это, но, к сожалению, документ говорит, что это только позволяет ограничитель. – FunLovinCoder

+0

@swisstony - вы можете установить другие общедоступные свойства 'CsvOptions', например' CsvOptions.DateFormat'. Да, конструктор ограничивается ограничителем. – Ahmad

+0

Спасибо, что хорошо выглядит. Я могу видеть, как я могу установить формат даты сейчас. Однако, как я могу указать, что конкретные столбцы должны иметь свои значения? – FunLovinCoder

Смежные вопросы