public DataTable RowsToCol(DataTable DT)
{
try
{
int rowCount=DT.Rows.Count;
int columnsCount=DT.Columns.Count;
DataTable result=new DataTable();
DataTable RowsDT=new DataTable();
DataTable COLSDT=new DataTable();
for(int i=0;i<RowCount;i++)
{
result.Columns.Add(DT.Rows[i][1].ToString());
RowsDT.Columns.Add(DT.Rows[i][1].ToString());
COLsDT.Columns.Add(DT.Rows[i][1].ToString());
}
string[] RowsName=new string[columnsCount];
for(int i=0;i<columnsCount;i++)
{
RowsName[i]=DT.Columns[i].ColumnName.Tostring();
}
for(int rowsi=0;rowsi<RowsName.Length;rowsi)
{
RowsDT.Rows.Add(new string[] {RowsName[rowsi]});
}
//行转列的核心部分
for(int columnsi=0;columnsi<columnsCount;columnsi++)
{
DataRow dr=COLsDT.NewRow();
for(int rowj=0;rowj<rowCount;rowj++)
{
dr[rowj]=DT.Rows[rowj][columnsi].toString();
}
COLsDT.Rows.Add(dr);
}
for(int columnsi=0;columnsi<columnsCount;columnsi++)
{
DataRow resultdr=result.NewRow();
for(int rowj=0;rowj<rowCount;rowj++)
{
if(rowj==0)
{
resultdr[rowj]=RowsDT.Rows[columnsi][0].ToString();
}
else
{
resultdr[rowj]=ColsDT.Rows[columnsi][rowj].ToString();
}
}
result.Rows.Add(resultdr);
}
return result;
}
catch(Exception ex)
{
throw new Exception(ex.ToString());
}
}
C# DataTable行转列实现方法
最新推荐文章于 2020-12-29 10:03:56 发布
本文介绍了一种使用C#实现的将DataTable中的行数据转换为列数据的方法。该方法首先获取原始DataTable的行数和列数,然后创建新的DataTable来存放转换后的数据,并通过循环遍历实现了数据的有效转换。
3999

被折叠的 条评论
为什么被折叠?



