我想转置 Excel 工作表的行和列并保存。为此,我想使用 C# transpose() 方法。谁能通过示例说明如何在 C# 中使用它、语法是什么、应该创建什么对象来调用 transpose() 方法?
谢谢。
最佳答案
首先,您必须将 excel 工作表转换为数据表,然后以编程方式转置数据表的行和列。要将 excel 工作表转换为数据表,您可以在 stackoverflow 上搜索问题,因为它有很多类似的问题。对于转置数据表,下面的代码有效;
private DataTable GenerateTransposedTable(DataTable inputTable)
{
DataTable outputTable = new DataTable();
// Add columns by looping rows
// Header row's first column is same as in inputTable
outputTable.Columns.Add(inputTable.Columns[0].ColumnName.ToString());
// Header row's second column onwards, 'inputTable's first column taken
foreach (DataRow inRow in inputTable.Rows)
{
string newColName = inRow[0].ToString();
outputTable.Columns.Add(newColName);
}
// Add rows by looping columns
for (int rCount = 1; rCount <= inputTable.Columns.Count - 1; rCount++)
{
DataRow newRow = outputTable.NewRow();
// First column is inputTable's Header row's second column
newRow[0] = inputTable.Columns[rCount].ColumnName.ToString();
for (int cCount = 0; cCount <= inputTable.Rows.Count - 1; cCount++)
{
string colValue = inputTable.Rows[cCount][rCount].ToString();
newRow[cCount + 1] = colValue;
}
outputTable.Rows.Add(newRow);
}
return outputTable;
}
关于C# Transpose() 方法转置 excel 表中的行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12838403/