CsvEditSharpは、C#スクリプトで読み書き設定を記述するCSVエディタです。
スクリプトでは、オープンソースの .Netクラスライブラリである「CsvHelper」のAPIを使用して読み書きの設定を記述します。
[スクリプト記述例]
-------------------
/* CSV Edit Sharp のAPIオブジェクトを取得 */
ICsvEditSharpApi api = GetCsvEditSharpApi();
/* CSVファイルのエンコーディングを指定 */
api.Encoding = Encoding.GetEncoding("utf-8");
/* CSV Helper の 構成設定を記述 */
api.CsvConfiguration = new CsvConfiguration( CultureInfo.GetCultureInfo("en-US"))
{
HasHeaderRecord = true
};
/*****************************
レコードクラスの定義
*****************************/
class FieldData
{
public string Name { get; set; }
[Format("d")]
public DateTime Birthday { get; set; }
public Gender Gender { get; set; }
public bool Married { get; set; }
[NumberStyles(NumberStyles.Currency)]
[Format("C")]
public decimal PocketMoney { get; set; }
}
/****************************************
選択項目を定義するenum
****************************************/
enum Gender
{
Male,
Female,
Other
}
/**********************************************
FieldDataクラスのマッピングオブジェクトを設定(Auto Map)
**********************************************/
api.RegisterClassMap();
/************************
Custom Validationの定義
************************/
api.AddValidation(
m => m.Birthday,
dt => dt.Date (
m => m.PocketMoney,
n => n > 0 && n < 10000,
"PocketMoney must be in the range $0 to $10000.");
-------------------
スクリプトで使用できるAPIの詳細は以下を参照してください。
[GitHub]
https://github.com/pierre3/CsvEditSharp
[CsvHelper]
https://joshclose.github.io/CsvHelper/