EBSILON®Professional Online Documentation
数据传输和结果显示 / 数据-输出 / 用户-Excel-界面 / 用户 Excel 导出
本主题中
    用户 Excel 导出
    本主题中

    用户 Excel 导出


    通用

    可以通过将数据导出到 Microsoft Excel 来创建包含规格值的报告。

    可以为一个或多个工况同时报告这些数值。

    在"标准 Excel"界面中,输出的数据必须在 Excel 表格中的固定位置,而在"用户定义布局 Excel"界面中,用户可以自己定义 Excel 表格中的数据排列。

    如果输出的数据要被另一个程序重复使用,并且想避免通过复制和粘贴在 Excel 工作表内转换数据时,,这一点特别有用。

    一般来说,当使用 Excel 的"定义名称"功能(属于 EBSILON 性能优化系统(E-POS)的功能范围,可以有选择地在 Excel 表格的第一行使用格式化命令),可以把 Excel 表格中的位置分配给 EBSILON 循环中的变量。

    可以用这个界面来创建两种类型的 Excel 报告:

     

    希望创建一份对不同的工况进行比较的报告时,使用类型"A"。工况被安排在 Excel 表格的列中。在行中,报告所需的规格或结果值。该布局与导入所需的布局相同。

    希望创建一份可以比较组件的属性,特别是组件列表的报告时,使用类型"B"。每个组件都有一个行。组件所需的属性被列在列中。这个报告只包括激活的的工况。这种布局不能用于导入。

     

    为了准备创建这个报告,必须

    这个表格被用作报告的模板。

    在读取模板时,EBSILONProfessional 会识别这些 Excel 定义的名称,并试图按照某些规则将文件中的规格值插入工作表。

    这些规则描述了

    EBSILONProfessional 会提供一个 Excel 表格的模板。


    如何导出数据到 Excel 文件?

    要导出数据到 Excel 文件,从菜单栏中选择"数据-->用户 Excel-->报告"选项。

    显示"报告值到 Excel 文件"窗口。

    选中为制作报告而创建的 Excel 模板,点击"打开"。

    现在 Excel 在后台启动,Excel 模板被打开。

    读取该表的定义名称,并根据 Excel 数据报告的规则,将数据发送到该表。

    必须总是与每个规格单位一起指定一个单位。如果这个单位与文件中指定的单位不同,那么该值就会以 Excel 表格中指定的单位进行替换。

    在报告创建后,Excel 变得可见,并显示这个报告。如果不希望覆盖已有模板,要求通过指定一个文件夹和一个文件名来保存报告。

    保存完报告后,Excel 被关闭,可以继续使用 EBSILONProfessional,或者可以在 Excel 中再次打开报告。

    如果收到关于服务器繁忙的错误信息,不用担心:

    当 EBSILON 在等待来自 Excel 的响应时,而 Excel 正忙于等待来自你的确认,这种情况就会发生。要继续,只需点击"重复"。


    导出 Excel 数据的规则

    为了能被 EBSILONProfessional 正确处理,应该遵循以下规则来创建 Excel 表格:

    Excel 表格必须始终有定义的行、列或单元格的名称。这些名称指定要报告的数据。

    如果 Excel 模板文件包含一个以上的工作表,EBSILON 会尝试使用所有的工作表。须注意,所有工作表的相应名称都已定义。请注意,在 Excel 中,名称可以为特定的工作表进行局部定义,也可以为整个表格进行全局定义。EBSILON 可以识别这两种名称类型。

    当为单个单元格而不是整个行(或列)分配名称时,EBSILONProfessional 使用该单元格所在的相应行(或列)。

    在两种报告类型中,都可以使用名称

    来指定一个单元格,在单元格中输入文件名或当前日期。

     

    为不同的工况生成报告(类型"A")

    这种类型的 Excel 表格中的一个行可以描述某个组件或管道的特定规格值(数值和单位)的值。

    该行的定义名称必须

    例子: "S_Input_of_Value_8.NCV" 指定一行,用来把数据报告给组件或管道的"NCV"标识的规格值,称为 "Input_of_Value_8"。

     

    这种类型的 Excel 表格中的一列可以报告一个特定工况的数据。这一列的定义名称必须

     

    例子:"P_Variation_C" 指定一个列,应该报告被称为 "Variation_C" 的工况的数据。

    这类 Excel 表格中的一列报告数据,用来描述规格值的单位。这个列的定义名称必须是 "X_UNIT"。

     

    例子:

    下面是一个 Excel 表格的一部分。报告了以下的规格值:

    要报告的规格值的标识符分别为 "P"、"T" 和 "Q"。

    将这些规格值报告给六个工况: ”Variation_A” , ”Variation_B” , ”Variation_C” , ”Variation_D” , ”Variation_E” , ”Variation_F”。

    第 6 至 9 行和第 C 至 I 列必须命名。以下的名字根据上述的规则命名:

    行 / 列

    定义的名称

    6

    S_cooling water inlet pipe.T

    7

    S_cooling water inlet.T

    8

    S_cooling water inlet pipe.P

    9

    S_Generator outlet.Q

    C

    X_UNIT

    D

    P_Variation_A

    E

    P_Variation_B

    F

    P_Variation_C

    G

    P_Variation_D

    H

    P_Variation_E

    I

    P_Variation_F

    Excel 显示定义的名称列表,如下所示:

    单元格 C6 至 I9 的格式必须是"数字"。

    单元格 C6、C7、C8、C9 的格式必须是 "文本" 或 "标准",必须包含一系列单位。

    为组件的子集生成报告(类型"B")

    报告到这种类型的 Excel 表格中的数据来自于激活的工况。

    这种类型的 Excel 表格的一行必须包含一个表格标题。其定义的名称指定一个组件或管道的子集。它下面的每一行都包含这个子集的一个元素(组件或管道)的数据。

    该子集可以通过

     

    这种类型的 Excel 表格的一列可以包含这个子集的所有元素的特定属性的数据。定义的名称指定属性:

     

    对于子集的每个组件或管道,该属性的值在命名的行下面的列中报告。

    定义名称的例子:

     

    例子

    下面是 Excel 报告的一个部分,它是一个模型中所有名称以"Steam"开头的组件的概览。

    以下是该组件报告的规格值:

     

    第 5 行和第 B 至 H 列必须被命名。根据上述规则,给出了以下名称:

    行 / 列

    定义名称

    5

    C_Steam

    B

    N_NAME

    C

    V_T1N

    F

    U_T1N

    E

    V_P1NSET

    F

    U_P1NSET

    G

    L_2.V_T

    H

    L_2.U_T

     

    Excel 显示定义名称列表如下:

    单元格 B6 至 H17 必须被格式化为"数字"或"文本",以便存储数值或单位。


    错误信息

    如果 EBSILONProfessional 不能授予从 Excel 定义的名称列表中获取的

    时,会收到一条错误信息,并且相应的数据不会被导入。


    使用格式化的行

    EBSILONProfessional 的标准授权中,不包含这个选项)。

    使用 Excel 定义名称为 Excel 表格的布局提供了非常高的灵活性。在某些情况下,不需要这种灵活性,而是希望将大量的数据从 EBSILON 直接转移到 Excel,而不是在准备工作上投入精力,如为行和列命名。

    出于这个原因,可以简单地在 Excel 工作表的开头插入一个带有格式化命令的行。

    有三个命令,必须在特定单元格中给出:

    A1 单元格必须有命令 "EbsNames Col I" 或 "EbsNames Row I"。这里,"I" 是关键的字母或行的编号,它包含了规格或结果值的名称。对于测量值(组件 46),组件名称的规格就足够了,计算值(".RESULT")就会自动给出。

    A2 单元格必须有命令 "EbsProfiles Col I to J" 或 "EbsProfiles Row I to J"。这里,"I" 和 "J" 分别是第一和最后一列或行的关键字母或编号,它们应该包含来自 EBSILON 的数据。为了简单起见,数据一次写成一个工况,而不考虑工况的层次或工况的名称。如果想在特定的列 / 行中有特定的工况的数据,不能使用这个简化的界面。

    单元格 A3 可以包含 "EbsUnits Col I" 或 "EbsUnits Row I" 命令。这里,"I"是关键字母或行的编号,它包含了规格值的单位。这些单位可以与模型中使用的单位不同。

    在创建了这样一个模板并调用"数据 à 用户 Excel à 输出”后,报告就被创建了:

     

    请注意,当一个值没有在工况中定义,而是从父工况中继承时,报告中会出现空白单元。

    这个界面不支持报告工况的名称。然而可以使用以下技巧来显示工况的名称:
    在循环中添加一个宏对象,其规格值为"TEXT"类型。对于这个值,插入表达式 {getCalcProfilName} 并将此值添加到输出值列表中。