C# Transpose() 方法转置 excel 表中的行和列

标签 c# .net excel c#-4.0

我想转置 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/

相关文章:

c# - 基于64位或32位操作系统导入外部dll

excel - 如何自动将 Excel xls 文件转换为 Excel xml 格式?

.net - 如何在生成的代码中禁用特定的 FxCop 规则?

excel - 如何轻松更改 Excel 中文件的硬编码链接?

vba - 如何格式化VBA Excel中文本框中的每一行

c# - 在 JavaScript 或 JQuery 中访问数据表

c# - HttpPostedFile.ContentType 是验证上传文件的完美方式吗?

c# - 在 ASP.NET C# 中调用 Web 服务时 session 为空

c# - x :FieldModifier ="Private" do and should I worry about it? 是什么

.net - 如何在 LINQ 中执行 "INSERT INTO table1 (...) SELECT (...) FROM table2"?