如何合并数据集中的数据表? Asp.net C# [英] How to merge the datatable in dataset? Asp.net C#
问题描述
我有一个excel文档和多个sheet.sheets有很多列,row.i将文档上传到我的项目中。多个工作表使用for循环绑定到表(工作表名称设置为表名)。绑定我将表名更改为source1,source2,source3(三张)。现在如何在单个表(source1)中绑定(合并)三个表。
我尝试过:
i试图将所有表重命名为同名,但不允许重复表。如何绑定同一个表。
无法将所有数据表名重命名为相同的值。
使用 DataTable.Merge方法 [ ^ ]合并数据集中的所有数据表的数据。
参考这个例子:
假设您的数据集包含3个表格,如下所示
DataSet dataSetExcel = new DataSet();
DataTable dt1 = new DataTable();
dt1.Columns.Add( ID);
dt1.Columns.Add( 名称);
dt1.Rows.Add( 1 , 一个跨度>);
DataTable dt2 = new DataTable();
dt2.Columns.Add( ID);
dt2.Columns.Add( 名称);
dt2.Rows.Add( 2 , 两个跨度>);
DataTable dt3 = new DataTable();
dt3.Columns.Add( ID);
dt3.Columns.Add( 名称);
dt3.Rows.Add( 3 , 3跨度>);
dataSetExcel.Tables.AddRange( new DataTable [] {dt1,dt2,dt3});
尝试将所有数据合并到一个新的DataTable
DataTable dtFinal = new DataTable();
for ( int i = 0 ; i < dataSetExcel.Tables.Count; i ++)
{
if (i == 0 )
dtFinal = dataSetExcel.Tables [i] .Copy();
else
dtFinal.Merge(dataSetExcel.Tables [i]);
}
或者,您应将表2和表3中的数据合并到表1并删除表2和3
dataSetExcel.Tables [ 0 ]。合并(dataSetExcel。表[ 1 ]);
dataSetExcel.Tables [ 0 ]。合并(dataSetExcel.Tables [ 2 ]);
dataSetExcel.Tables.RemoveAt( 1 ); // 重复代码以避免索引异常
dataSetExcel.Tables.RemoveAt( 1 跨度>); // 重复代码以避免索引异常
dataSetExcel.AcceptChanges();
i have one excel document and multiple sheets.sheets have many columns and row.i upload the document into my project.and the multiple sheets is bind to tables(sheet name is set as table name) using for loop.after the bind i change the table name to source1,source2,source3 (three sheets). Now how to bind(merge) the three tables in single table (source1).
What I have tried:
i have tried to rename the all tables to same name but the duplicate table is not allowed.how to bind the same table.
Its not possible to rename all the datatable names to same value.
use DataTable.Merge Method [^] to merge all the datatable's data from the dataset.
refer this example:
assuming your dataset contains 3 tables as below
DataSet dataSetExcel = new DataSet(); DataTable dt1 = new DataTable(); dt1.Columns.Add("ID"); dt1.Columns.Add("Name"); dt1.Rows.Add(1, "one"); DataTable dt2 = new DataTable(); dt2.Columns.Add("ID"); dt2.Columns.Add("Name"); dt2.Rows.Add(2, "two"); DataTable dt3 = new DataTable(); dt3.Columns.Add("ID"); dt3.Columns.Add("Name"); dt3.Rows.Add(3, "three"); dataSetExcel.Tables.AddRange(new DataTable[] {dt1,dt2,dt3 });
try like this to merge all the data to a new DataTable
DataTable dtFinal = new DataTable(); for (int i = 0; i < dataSetExcel.Tables.Count; i++) { if (i == 0) dtFinal = dataSetExcel.Tables[i].Copy(); else dtFinal.Merge(dataSetExcel.Tables[i]); }
or, you shall merge the data from sheet 2 and sheet 3 to sheet 1 and delete the sheet 2 and 3
dataSetExcel.Tables[0].Merge(dataSetExcel.Tables[1]); dataSetExcel.Tables[0].Merge(dataSetExcel.Tables[2]); dataSetExcel.Tables.RemoveAt(1); // duplicate code to avoid index exception dataSetExcel.Tables.RemoveAt(1); // duplicate code to avoid index exception dataSetExcel.AcceptChanges();
这篇关于如何合并数据集中的数据表? Asp.net C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!