2010-10-21 77 views
1

我正在使用FileHelpers將一些數據寫入CSV文件。 FileHelpers非常棒,因爲它讓我可以使用FileHelper轉換器輕鬆地格式化各個字段。這裏是一個FileHelpers DelimitedRecord的例子:Dyanamically選擇寫入哪些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 2010-10-21 12:35:48

+0

@swisstony - 您可以設置'CsvOptions'的其他公共屬性,例如'CsvOptions.DateFormat'。是的,構造函數僅限於分隔符。 – Ahmad 2010-10-21 13:37:11

+0

謝謝,看起來不錯。我可以看到我現在可以如何設置日期格式。但是,如何指定特定列應該引用其值? – FunLovinCoder 2010-10-21 18:55:02