closedxml.report 中的垂直和水平组合 table
Combination of vertical and horizontal table in closedxml.report
我正在做一个项目,我正在使用 ClosedXML 在 Excel sheet.
中记录一些结果
我有以下数据结构:
PortTag 字典只是端口 ID 和标签的键值对(“T”、“U”、“F”或“-”)
这应该导致 Table 看起来像这样:
这是竖版和横版的组合,我创建失败了。
我当前的 sheet 显示我使用 SNMP 从交换机轮询的信息,如下所示:
您是否可以为我提供任何帮助或指导我获取有关此问题的知识来源?
我已经阅读了 Github Wiki 和网站 (https://closedxml.github.io/ClosedXML.Report/docs/en/)
上的信息
非常感谢!
我。如果所有 Vlan
个条目具有相同的一组键
您可以使用这种方法:
- 定义一个垂直table
Vlans
- 定义一个横向table
PortTag_Values
里面
- 定义另一个水平 table
PortTagKeys
应该放置键的地方
- 在代码中,添加
data
作为一个变量,添加 PortTagKeys
作为另一个变量(请注意,为简单起见,我省略了对 null 和空集合的检查):
var template = new XLTemplate(workbook);
template.AddVariable(data);
template.AddVariable("PortTagKeys", data.Vlans[0].PortTag.Keys);
template.Generate();
- 得到你想要的:
二.如果 Vlan
个条目可能有不同的键集
在这种情况下,我建议执行 pre-processing 以获取所有键的集合并使用相同的键填充所有 PortTag
(将 -
用于缺少的键).我怀疑在没有 pre-processing.
的 "pure" ClosedXML.Report 中是否可行
我正在做一个项目,我正在使用 ClosedXML 在 Excel sheet.
中记录一些结果我有以下数据结构:
PortTag 字典只是端口 ID 和标签的键值对(“T”、“U”、“F”或“-”) 这应该导致 Table 看起来像这样:
这是竖版和横版的组合,我创建失败了。
我当前的 sheet 显示我使用 SNMP 从交换机轮询的信息,如下所示:
您是否可以为我提供任何帮助或指导我获取有关此问题的知识来源?
我已经阅读了 Github Wiki 和网站 (https://closedxml.github.io/ClosedXML.Report/docs/en/)
上的信息非常感谢!
我。如果所有 Vlan
个条目具有相同的一组键
您可以使用这种方法:
- 定义一个垂直table
Vlans
- 定义一个横向table
PortTag_Values
里面 - 定义另一个水平 table
PortTagKeys
应该放置键的地方
- 在代码中,添加
data
作为一个变量,添加PortTagKeys
作为另一个变量(请注意,为简单起见,我省略了对 null 和空集合的检查):
var template = new XLTemplate(workbook);
template.AddVariable(data);
template.AddVariable("PortTagKeys", data.Vlans[0].PortTag.Keys);
template.Generate();
- 得到你想要的:
二.如果 Vlan
个条目可能有不同的键集
在这种情况下,我建议执行 pre-processing 以获取所有键的集合并使用相同的键填充所有 PortTag
(将 -
用于缺少的键).我怀疑在没有 pre-processing.