【发布时间】:2018-09-12 12:12:52
【问题描述】:
我正在读取 XLS 文件并将数字(来自 excel = currow 的当前行)传递给在新 csv 文件中创建对象的方法:
public class Importer
...
IList<NewDataObj> n_obj = new List<NewDataObj>();
foreach (var item in data.AsEnumerable().Where(o => o.Field<string>("MyID") == ImportID)){
n_obj.Add(new NewDataObj(item, ID, currow));
currow++;}
....
创建新DataObj的方法:
public class NewDataObj{
....
public static string_1 = "\"{3}\";\"NEW_OBJECT\";\"TEST\"{5}\";
public static string_2 = "\"{3}\";\"NEW OBJECT\";\"TEST_A2\"{5}\";
public double DataID { get; set; }
.....
public NewDataObj(DataRow item, string newID, int currow){
....
ID = string.Format("{{ABC_TEST_{0:000}}}", currow);
AddtoFile_A();
//AddtoFile_A2();
}
public void AddtoFile_A(){
using (StreamWriter w = File.AppendText("testX.csv"))
{
w.WriteLine(string.Format(string_1, DataID, ID, Environment.NewLine));
}
}
}
这工作正常,但现在我必须添加 AddtoFile_A2 方法。
public void AddtoFile_A2(){
using (StreamWriter w = File.AppendText("testX.csv"))
{
w.WriteLine(string.Format(string_2, DataID, ID, Environment.NewLine));
}
}
AddtoFile_A2 也使用相同的 currow。对我来说,当 AddtoFile_A 或 AddtoFile_A2 被执行时,ID 应该总是加 1。
如何做到这一点?也许我的 AddtoFile 方法应该将值返回给 Importer 类?
【问题讨论】:
-
您似乎没有在发布的代码中的任何地方增加 currow 并且您需要重新创建 ID 字符串
-
@Steve...class Importer currow++
标签: c# csv streaming increment