Dyanamical выбирает, какие поля CSV записываются - PullRequest
1 голос
/ 21 октября 2010

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

[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 Ответ

1 голос
/ 21 октября 2010

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

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

...