可以通过将数据导出到 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 被关闭,可以继续使用 EBSILONProfessional,或者可以在 Excel 中再次打开报告。
如果收到关于服务器繁忙的错误信息,不用担心:
当 EBSILON 在等待来自 Excel 的响应时,而 Excel 正忙于等待来自你的确认,这种情况就会发生。要继续,只需点击"重复"。
为了能被 EBSILONProfessional 正确处理,应该遵循以下规则来创建 Excel 表格:
Excel 表格必须始终有定义的行、列或单元格的名称。这些名称指定要报告的数据。
如果 Excel 模板文件包含一个以上的工作表,EBSILON 会尝试使用所有的工作表。须注意,所有工作表的相应名称都已定义。请注意,在 Excel 中,名称可以为特定的工作表进行局部定义,也可以为整个表格进行全局定义。EBSILON 可以识别这两种名称类型。
当为单个单元格而不是整个行(或列)分配名称时,EBSILONProfessional 使用该单元格所在的相应行(或列)。
在两种报告类型中,都可以使用名称
来指定一个单元格,在单元格中输入文件名或当前日期。
这种类型的 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 的格式必须是 "文本" 或 "标准",必须包含一系列单位。
报告到这种类型的 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} 并将此值添加到输出值列表中。