C# 4.0 从对象数组创建数据表
我不确定我的方法是否正确,但我有一个c#方法,可以将excel表格加载到二维对象数组中。在这个数组中,项1,1-1,16包含头,然后2-1-2-16包含与这些头匹配的数据,从那里开始的x-1-x-16在中。我想把这个数组转换成一个数据表,这样最终我可以将它转换成一种格式,然后根据客户机的需要导入access或SQL server db。我尝试过使用下面的代码,但没有效果,但我有一种感觉,我是远离。在此方面的任何帮助都将不胜感激C# 4.0 从对象数组创建数据表,c#-4.0,xls,import-from-excel,C# 4.0,Xls,Import From Excel,我不确定我的方法是否正确,但我有一个c#方法,可以将excel表格加载到二维对象数组中。在这个数组中,项1,1-1,16包含头,然后2-1-2-16包含与这些头匹配的数据,从那里开始的x-1-x-16在中。我想把这个数组转换成一个数据表,这样最终我可以将它转换成一种格式,然后根据客户机的需要导入access或SQL server db。我尝试过使用下面的代码,但没有效果,但我有一种感觉,我是远离。在此方面的任何帮助都将不胜感激 private void ProcessObjects(object
private void ProcessObjects(object[,] valueArray)
{
DataTable holdingTable = new DataTable();
DataRow holdingRow;
holdingTable.BeginLoadData();
foreach(int row in valueArray)
{
holdingRow = holdingTable.LoadDataRow(valueArray[row], true);
}
}
您是否可能正在使用存储库模式(如亚音速或EF)或LinqToSql 您可以这样做(为了简单起见,使用LinqToSql):
List myList=valueArray.ToList().Skip([标题行]).ConvertAll(f=>Property1=f[0][转换语句的其余部分])
DataContext dc=新的DataContext();
dc.SomeType.InsertAllOnSubmit(myList);
dc.提交更改();
很抱歉,您不得不忍受我,我对LINQ to SQL一点也不熟悉。如果我理解这段代码,它将创建一个list valueArray,而不是我创建的对象数组?现在在skip部分,我假设[header rows]将替换为单元格范围(即skip(“A1:D16”)),但是convert语句其余部分的值是多少?现在我决定走另一条路,但我对学习LINQ方法非常感兴趣。我在回复中附上了新代码,请让我知道你的想法。
List<SomeType> myList = valueArray.ToList().Skip([your header rows]).ConvertAll(f => Property1 = f[0] [the rest of your convert statement])
DataContext dc = new DataContext();
dc.SomeType.InsertAllOnSubmit(myList);
dc.SubmitChanges();