转换后效果
static void Main(string[] args) { DataTable dt = new DataTable(); DataTable data = new DataTable(); dt.Columns.Add("数量"); dt.Columns.Add("体积"); dt.Columns.Add("等级"); dt.Columns.Add("面积"); DataRow dr = dt.NewRow(); dr["数量"] = "1"; dr["体积"] = "2"; dr["等级"] = "3"; dr["面积"] = "4"; dt.Rows.Add(dr); data = DataTableColToRow(dt, 0); } /// <summary> /// Datatable行转列 /// </summary> /// <param name="src"></param> /// <param name="columnIndex"></param> /// <returns></returns> public static DataTable DataTableColToRow(DataTable src, int columnIndex) { DataTable result = new DataTable(); DataColumn column = src.Columns[columnIndex]; result.Columns.Add(column.ColumnName); for (int i = 0; i < src.Rows.Count; i++) { result.Columns.Add(src.Rows[i][column].ToString()); } foreach (DataColumn col in src.Columns) { if (col == column) { continue; } object[] newRow = new object[src.Rows.Count + 1]; newRow[0] = col.ColumnName; for (int i = 0; i < src.Rows.Count; i++) { newRow[i + 1] = src.Rows[i][col]; } result.Rows.Add(newRow); } return result; }