【发布时间】:2016-09-08 03:50:02
【问题描述】:
我有一个ASP.NET 应用程序在运行时编辑上传到服务器的文件。
我必须处理CSV 文件,所以我选择了FileHelpers 库。
由于我不知道CSV 的标头是什么,我使用此库在运行时动态创建自定义类,并用标头和记录填充DataTable。
然后,应用程序将新列添加到 DataTable 以及为每一行生成的值。
我需要将新值写入CSV 文件,因此我需要在运行时编辑记录而不知道类格式。
这是我到目前为止所做的 sn-p,但如果您能给我一个有关如何执行此操作的提示,我将非常感激 :)
List<object> values = new List<object>();
var classBuilder = new DelimitedClassBuilder("CSVClass", delimiter.ToString(), dataTable);
classBuilder.LastField.FieldOptional = true;
Engine = new FileHelperEngine(classBuilder.CreateRecordClass());
string lastFieldName = classBuilder.LastField.FieldName;
i = 0;
foreach (dynamic record in Engine.ReadFile(filePath))
{
record.Test = newValues[i]; //This line is working as the new column is named "Test" but if the column name changes, it throws an exception of course
values.Add(record);
i++;
}
Engine.WriteFile(filePath, values);
【问题讨论】:
-
什么是 newValues ?
标签: c# asp.net csv dynamic filehelpers