两个结构一样的DataTable合并
view plaincopy to clipboardprint?
DataTable DataTable1 = new DataTable();
DataTable DataTable2 = new DataTable();
DataTable newDataTable = DataTable1.Clone();
object[] obj = new object[newDataTable.Columns.Count];
for (int i = 0; i < DataTable1.Rows.Count; i++)
{
DataTable1.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);
}
for (int i = 0; i < DataTable2.Rows.Count; i++)
{
DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);
}
//或者
DataTable DataTable1 = new DataTable();
DataTable DataTable2 = new DataTable();
object[] obj = new object[DataTable1 .Columns.Count];
for (int i = 0; i < DataTable2.Rows.Count; i++)
{
DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
DataTable1.Rows.Add(obj);
}
DataTable DataTable1 = new DataTable();
DataTable DataTable2 = new DataTable();
DataTable newDataTable = DataTable1.Clone();
object[] obj = new object[newDataTable.Columns.Count];
for (int i = 0; i < DataTable1.Rows.Count; i++)
{
DataTable1.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);
}
for (int i = 0; i < DataTable2.Rows.Count; i++)
{
DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);
}
//或者
DataTable DataTable1 = new DataTable();
DataTable DataTable2 = new DataTable();
object[] obj = new object[DataTable1 .Columns.Count];
for (int i = 0; i < DataTable2.Rows.Count; i++)
{
DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
DataTable1.Rows.Add(obj);
}
两个结构不同的DataTable合并
view plaincopy to clipboardprint?
/// <summary>
/// 将两个列不同的DataTable合并成一个新的DataTable
/// </summary>
/// <param name="dt1">Table表1</param>
/// <param name="dt2">Table表2</param>
/// <param name="DTName">合并后新的表名</param>
/// <returns></returns>
private DataTable UniteDataTable( DataTable dt1 ,DataTable dt2 ,string DTName)
{
DataTable dt3 = dt1.Clone();
for( int i = 0 ;i < dt2.Columns.Count ;i ++ )
{
dt3.Columns.Add( dt2.Columns[i].ColumnName ) ;
}
object[] obj = new object[dt3.Columns.Count];
for (int i = 0; i < dt1.Rows.Count; i++)
{
dt1.Rows[i].ItemArray.CopyTo(obj,0);
dt3.Rows.Add(obj);
}
if( dt1.Rows.Count >= dt2.Rows.Count )
{
for( int i = 0 ;i < dt2.Rows.Count ;i++ )
{
for( int j = 0 ;j < dt2.Columns.Count ;j ++ )
{
dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;
}
}
}
else
{
DataRow dr3 ;
for( int i = 0 ;i < dt2.Rows.Count - dt1.Rows.Count ;i ++ )
{
dr3 = dt3.NewRow() ;
dt3.Rows.Add( dr3 ) ;
}
for( int i = 0 ;i < dt2.Rows.Count ;i++ )
{
for( int j = 0 ;j < dt2.Columns.Count ;j ++ )
{
dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;
}
}
}
dt3.TableName = DTName ;
return dt3 ;
}
http://zhidao.baidu.com/question/48304907.html?fr=ala0
分享到:
相关推荐
本文将详细讲解如何使用C# `DataTable` 将两个列合并成一个新的列,这是一个非常实用的数据处理技巧,特别是在进行数据操作和分析时。 首先,让我们深入理解提供的代码段。这个代码定义了一个名为 `...
//将DataTable2中的行添加到DataTable1 //前提:dt1和dt2表结构相同 foreach (DataRow dr in dt2.Rows) dt1.Rows.Add(dr.ItemArray); //绑定表格 dataGridView1.DataSource = dt1; } catch (Exception ex) ...
### 合并两个Datatable知识点解析 在进行数据处理时,经常会遇到需要将从不同来源获取的数据合并到一起的情况。特别是在使用.NET框架进行数据库操作时,`DataTable`对象是存储和处理数据的一种常见方式。本篇文章将...
代码如下: //DataTable数据添加 Hashtable ht = new Hashtable(); DataTable dt = new DataTable(); DataColumn dc = new DataColumn(“id”); dt.Columns.Add(dc); dc = new DataColumn(“name”); dt....
可以将excel中多个sheet以datatable存入dataset,最后通过合并datatable将数据合并到一个datatable中,方便使用
两个DataTable合并, 并保留合并状态。 如果合并后记录有变更,记录的状态为修改。 如果合并后记录是新增,记录状态为新增。 如果合并后听记录是现有记录,记录状态为删除。
### .NET C# 中 DataTable 联结函数详解 在.NET框架中,`DataTable`类是一种非常实用的数据结构,用于存储、操作数据集中的数据。本文将深入探讨一个自定义函数`JoinDataTable`,该函数的主要功能是实现两个`...
Merge() 方法将指定的 DataTable 与当前的 DataTable 合并。NewRow() 方法创建与该表具有相同架构的新 DataRow。 四、DataTable 使用技巧 DataTable 的使用技巧是提高程序性能和简洁性的关键。在实际项目中,需要...
`DataTable`提供了多种方法来操作数据,如`Select`用于根据条件选择行,`AcceptChanges`和`RejectChanges`用于管理数据更改,`Merge`用于合并两个`DataTable`,`Clone`用于复制`DataTable`等。 此外,`DataTable`还...
本知识点主要关注如何利用C#来读取WPS表格的数据,并将其填充到一个DataTable对象中,以便在诸如DevExpress的GridControl这样的数据展示控件中显示。WPS表格是一款与Microsoft Excel类似的电子表格应用程序,提供了...
以上就是关于C#中`DataGridView`控件单元格合并以及列头合并的基本实现思路。在实际项目中,可能还需要考虑更多细节,例如性能优化、异常处理以及用户交互的改进。对于`WindowsApplication15`这个项目,你可能已经...
首先,需要了解的是,所谓的DataTable实际上是一个存储数据的表格结构,它能容纳多行多列的数据。当涉及到数据的展示时,通常会使用GridView等控件来显示DataTable中的内容。然而,一旦面对不同结构的数据,就会出现...
本篇文章将详细讲解如何在`DataTable`中移除重复行,并进行重复列的合并。 首先,我们需要理解`DataTable`的基本概念。`DataTable`是`System.Data`命名空间中的一个类,它是ADO.NET数据模型的一部分,用于存储和...
在C#编程中,`DataTable`是.NET Framework中的一个核心组件,它属于`System.Data`命名空间,常用于存储和操作数据集。`DataTable`类提供了灵活的方式来创建、修改和管理数据,通常与`DataSet`一起使用,但也可以独立...
本教程将详细讲解如何使用C#编程语言来合并具有相同头结构的Excel(.xls)和CSV文件。 首先,我们需要理解Excel和CSV文件的基本概念。CSV(Comma Separated Values)是一种简单的文本格式,其中数据以逗号分隔。...
本篇文章将深入探讨如何利用C#将Excel表格中的多个Sheet页进行合并,以便更好地理解和实现这一功能。 首先,我们需要了解的是,C#中用于处理Excel文件的常用库有:Microsoft.Office.Interop.Excel(需安装Office...
在C#编程中,将数据从List和DataTable导出到Excel是一种常见的需求,尤其在数据处理和报告生成的场景下。这个功能允许开发者轻松地将程序内部的数据结构转换为用户可读的电子表格格式,如Microsoft Excel。Open XML ...
在C#编程中,DataTable是.NET Framework中的一个重要数据结构,它用于存储和管理数据,类似于数据库中的表。本文将深入探讨如何在DataTable中动态添加行,并通过两个实例来展示具体实现方法。 首先,我们需要创建一...