.net core 封闭式XML报表,水平和垂直表

.net core 封闭式XML报表,水平和垂直表,.net-core,closedxml,.net Core,Closedxml,我在这里找到了水平表示例: 但数据的排列方式是,列表中的每个条目都是一行,每行都有一个数组,而这个数组就是这个动态长度的水平元素。问题是我的数据结构有点不同,主要是它的列列表。其具有标题的对象列表和作为列数据的对象列表。我不知道如何制作模板,这样它就可以水平遍历实体,然后垂直遍历子实体 这是主要问题。此外,还有另一个问题。子实体由名称和数量组成。每个父实体在子实体中都有相同的名称列表,只是数量不同而已 为了可视化,假设我有一个订单列表,其中每个订单都是单独的列,它们由相同的项目组成,只是数量不同

我在这里找到了水平表示例:

但数据的排列方式是,列表中的每个条目都是一行,每行都有一个数组,而这个数组就是这个动态长度的水平元素。问题是我的数据结构有点不同,主要是它的列列表。其具有标题的对象列表和作为列数据的对象列表。我不知道如何制作模板,这样它就可以水平遍历实体,然后垂直遍历子实体

这是主要问题。此外,还有另一个问题。子实体由名称和数量组成。每个父实体在子实体中都有相同的名称列表,只是数量不同而已

为了可视化,假设我有一个订单列表,其中每个订单都是单独的列,它们由相同的项目组成,只是数量不同

订单结构:

class Order
  {
     public string OrderNumber{ get; set; }
     public IEnumerable<ProductWithQuantity> ProductsWithQuantities{ get; set; }
  }

class ProductWithQuantity
  {
     public string ProductName{ get; set; }
     public int Quantity{ get; set; }
  }
类顺序
{
公共字符串OrderNumber{get;set;}
公共IEnumerable ProductswithQuantilities{get;set;}
}
用数量分类产品
{
公共字符串ProductName{get;set;}
公共整数数量{get;set;}
}
我想通过
IEnumerable
并使用模板生成excel,如下所示: