gpt4 book ai didi

c# - closedxml.report中的纵横表组合

转载 作者:行者123 更新时间:2023-12-04 22:27:58 24 4
gpt4 key购买 nike

我正在做一个项目,我正在使用 ClosedXML 在 Excel 工作表中记录一些结果。

我有以下数据结构:

Class Diagramm Switch class

PortTag 字典只是端口 ID 和标签的键值对(“T”、“U”、“F”或“-”)
这应该会产生一个如下所示的表:

Table as needed

这是垂直和水平版本的组合,我无法创建它。

我当前的工作表显示了我使用 SNMP 从交换机轮询的信息,如下所示:

current sheet

您可以为我提供任何帮助或指导我找到有关此问题的知识来源吗?

我已经阅读了 Github Wiki 和网站上的信息 (https://closedxml.github.io/ClosedXML.Report/docs/en/)

非常感谢 !

最佳答案

一、如果全部Vlan条目具有相同的键集

您可以使用这种方法:

  • 定义垂直表Vlans
  • 定义水平表PortTag_Values里面
  • 定义另一个水平表PortTagKeys key 应该放在哪里

  • enter image description here
  • 在代码中,添加 data作为一个变量和PortTagKeys作为另一个(请注意,为简单起见,我省略了对 null 和空集合的检查):
  • var template = new XLTemplate(workbook);
    template.AddVariable(data);
    template.AddVariable("PortTagKeys", data.Vlans[0].PortTag.Keys);
    template.Generate();
  • 得到你想要的:
    enter image description here

  • 二、如果 Vlan条目可能有不同的键集

    在这种情况下,我建议执行预处理以获取所有键的集合并填充所有 PortTag s 具有相同的键(将 - 用于缺少键)。我怀疑是否有可能在“纯” ClosedXML.Report 中进行,无需预处理。

    关于c# - closedxml.report中的纵横表组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56005411/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com