在下面的函数中,我尝试获取任何给定datatable
的转置。但是如果输入表没有行标题,则会将输入表的第一列添加为输出表的列标题,这是错误的。如何摆脱输出表中的列标题?
public DataTable generatetranspose(DataTable inputtable)
{
DataTable outputtable = new DataTable();
outputtable.Columns.Add(inputtable.Columns[0].ColumnName.ToString());
foreach (DataRow inrow in inputtable.Rows)
{
string newcol = inrow[0].ToString();
outputtable.Columns.Add(newcol);
}
for(int i = 0 ; i <= inputtable.Columns.Count - 1 ; i++ )
{
DataRow newrow = outputtable.NewRow();
newrow[0] = inputtable.Columns[i].ColumnName.ToString();
for(int j =0 ; j <= inputtable.Rows.Count - 1 ; j++)
{
string colvalue = inputtable.Rows[j][i].ToString();
newrow[j + 1] = colvalue;
}
outputtable.Rows.Add(newrow);
}
return outputtable;
}