C#实现横表数据转换成纵表显示
时间: 2024-09-24 21:30:11
浏览: 44
在C#中,将横表(也称为宽表或多列布局)的数据转换成纵表(长条形或单列布局),通常是为了便于查看和分析,可以使用PivotTable或者自定义算法实现。例如,你可以利用`System.Data.DataTable`的`CreatePivotTable`方法,如果是在LINQ to SQL或Entity Framework等ORM框架下,也可以通过查询操作生成。
下面是一个简单的例子,假设你有一个包含学生信息的数据表,你想按照班级转置:
```csharp
// 假设你有如下的数据
DataTable originalData = new DataTable();
originalData.Columns.Add("StudentID", typeof(int));
originalData.Columns.Add("ClassName", typeof(string));
originalData.Columns.Add("Subject", typeof(string));
originalData.Rows.Add(1, "ClassA", "Math");
originalData.Rows.Add(2, "ClassB", "Science");
originalData.Rows.Add(3, "ClassA", "English");
// 转换为PivotTable
var pivotTable = originalData.AsEnumerable()
.ToPivotTable(dataColumn: "Subject",
```