2017-02-17 12 views
0

Я пытаюсь использовать FileHelper 3.1.5 для анализа файлов, предоставленных пользователем CSV. Я не знаю имена столбцов во время компиляции. Мне нужен способ динамического чтения столбцов, как данных столбца, так и, возможно, также информации заголовка.образец анализа CSV w/FileHelpers, когда я не знаю, имена столбцов

Это возможно? Все примеры анализируются в статических классах.

ответ

1

Уверенный, вы можете это сделать. Используйте команду FileHelpers class builder для создания спецификации импорта во время выполнения. Что-то вроде:

// create a FileHelpers class with a comma delimiter. 
DelimitedClassBuilder cb = new DelimitedClassBuilder("Person", ","); 
// add your fields based on whatever logic you like (e.g., maybe read the column names from the first row) 
cb.AddField("firstName", typeof(string)); 
cb.AddField("lastName", typeof(string)); 
cb.LastField.FieldNullValue = "default last name"; 

// create your import engine from the class you created above. 
DelimitedFileEngine engine = new DelimitedFileEngine(cb.CreateRecordClass()); 
DataTable dt = engine.ReadFileAsDT("data.csv");