Protected Function ColumnToRow(ByVal src_dt As System.Data.DataTable, _ Optional ByVal colIndex As Integer = -1 _ ) As System.Data.DataTable Dim dt As New System.Data.DataTable() Dim dr As System.Data.DataRow Dim rowCnt, colCnt As Long Dim i, j, k As Integer Try '行件数を取得 rowCnt = src_dt.Rows.Count dt.Columns.Add(" ") For i = 0 To rowCnt - 1 '列名を指定するかどうか判断する If colIndex = -1 Then 'ディフォルト状態 dt.Columns.Add("Column_" & i) Else '列名を指定した状態 dt.Columns.Add(src_dt.Rows(i).Item(colIndex).ToString) End If Next '列件数を取得 colCnt = src_dt.Columns.Count For j = 0 To colCnt - 1 '当前列はタイトル列が設定された場合、処理なし If j = colIndex Then Continue For End If dr = dt.NewRow For k = 0 To rowCnt - 1 '行列転換 dr.Item(0) = src_dt.Columns(j).ColumnName dr.Item(k + 1) = src_dt.Rows(k).Item(j).ToString Next dt.Rows.Add(dr) Next '戻り値 Return dt Catch ex As Exception '異常をある場合、Nothingを戻る Return Nothing End Try End Function src_dt:待转换的DataTable. colIndex:可缺省参数,指定将第一个参数中的第几列,作为新DataTable的标题行.