版权声明:学习之路有很多引荐的地方,希望能帮到大家就可以! https://blog.csdn.net/mingzaiwang/article/details/77935046
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()); } }