Excel 端口使用脚本模板从XML文件生成Excel文件。
总览
Excel端口主要通过模板文件进行配置。 该模板文件是一个Excel文件,其中包含静态列标题和rsbScript的组合。 该脚本处理端口输入的XML文件,用输入的数据动态填充Excel文档。 Excel 端口包含一个默认模板文件,可以将其用作参考,有关更多信息,请参见模板部分。
端口配置
本节包含所有可配置的端口属性。
设置标签
配置
与端口的核心配置有关的设置。
模板文件 | 用作输出模板的Excel文件,根据模板中的脚本将数据动态添加到文件中。 有关更多信息,请参见模板部分。 |
本地文件夹
以下设置将确定在处理文件的磁盘上的文件夹以及在处理后将它们放置的位置。
输入文件夹 (Send) | 端口可以处理放置在此文件夹中的文件。 如果启用了自动发送,则端口将自动轮询此位置来实现自动处理文件。 |
输出文件夹(Receive) | 端口完成文件处理后,输出结果将放置在此文件夹中。 如果端口已连接到流程中的另一个端口,则文件将不会保留在此处,而是会传递到所连接端口的“Send”文件夹中。 |
正在处理文件夹(Sent) | 处理文件后,如果启用了“保存到已发送文件夹”,端口会将已处理文件的副本放置在此文件夹中。 该文件的副本将不会传递到流程中的下一个端口。 |
性能
与端口获得的分配资源有关的设置。
最大线程数 | 线程池在此端口上处理文件所使用的最大工作线程数。 如果设置,则覆盖“配置文件”选项卡中的默认设置。 |
最大文件数 | 每次将工作线程分配给端口时,端口将处理的最大文件数。 如果设置,则覆盖“配置文件”选项卡中的默认设置。 |
其他设置
先前类别中未包含的设置
发送过滤器 | 全局模式过滤器,以确定端口将处理Send文件夹中的哪些文件(例如* .txt)。 负模式可用于指示不处理的文件(例如-*.tmp)。 多个模式可以用逗号分隔,除非找到完全匹配的内容,否则后面的过滤器优先。 |
本地文件映射 | 用于确定本地文件名(由端口处理)的文件名称。 以下宏可用于引用上下文信息:%ConnectorId%, %Filename%, %FilenameNoExt%, %Ext%, %ShortDate%, %LongDate%, %RegexFilename:%, %DateFormat:%, %ControlNumber%, %TransactionControlNumber%, %TransactionCode%, %StandardVersion%. As an example: %FilenameNoExt%_%ControlNumber%%Ext% |
日志文件 | 已处理文件的日志条目是否将包括文件本身的副本。 |
保存到已发送文件夹 | 端口处理的文件是否应复制到端口的“已发送”文件夹。 |
自动
与端口自动处理文件有关的设置。
发送 | 是否自动处理该端口的消息。 |
模板
Excel模板包含静态列标题,Excel注释内的脚本和Excel单元格内的脚本。 Excel注释中的脚本应该使用xmlDOMSearch操作在指定的XPath处遍历输入XML。 Excel单元格中的脚本应该使用xpath格式化程序从给定xpath处的XML中读取值(此xpath是xmlDOMSearch操作中指定的xpath相对的路径)。
以下是一个简单示例,该模板结合了xmlDOMSearch和xpath:
下面描述此示例中xmlDOMSearch操作和xpath格式化程序的详细信息。
xmlDOMSearch
xmlDOMSearch需要以下两个参数
- URI
URI是要解析的XML文件的资源路径。 [filepath]属性解析为端口的输入XML文件,并且URI应该几乎总是设置为该值。 在上面的示例中,文件路径使用urlencode格式化程序进行了URL编码,以确保文件路径中的特殊字符不会阻止端口读取文件:[filepath | urlencode]
- XPath
xpath是在文档中循环的XML路径。 该操作将针对每次出现的指定xpath/Items/Orders进行循环。 这意味着作为根Items元素的子元素的每个Orders元素都会在结果Excel文件中导致一组新的输出。
xpath
带有xmlDOMSearch操作的Excel注释包含一个单元格块,这些单元格通过xpath格式化程序引用了输入XML。 xpath格式化程序从指定xpath的输入XML读取值。 请注意,此xpath相对于作为xmlDOMSearch操作的参数提供的路径。
在上面的示例中,第一个单元格填充为:\ [xpath(“ OrderNo”)]。 由于此xpath是相对的,因此将使用输入XML中以下路径中的值填充单元格:/ Items / Orders / OrderNo。
如果xmlDOMSearch操作循环多次(即,如果找到该操作的“ xpath”参数的一个以上实例),则Excel注释之间的单元格块将重复。 新单元格是垂直添加的,因此在上面的示例中,第二个OrderNo单元格将在第一个Comment单元格的正下方。
Excel 操作
除知行EDI系统随附的操作外,端口还可提供将功能扩展到rsbScript中的操作。 下面列出了特定于Excel 端口功能的操作。
excelClose
关闭一个Excel连接。
可选参数
- handle:Excel文件的句柄。
输出属性
- success:如果成功关闭连接,则为true。
excel创建 创建一个新的Excel工作表。
必要参数
- sheet:在文件中创建的Excel工作表的名称。默认值为“ sheet1”。
可选参数
- file:Excel文件的路径。
- version:您使用的Excel版本。允许的值为“ AUTO,95,97-2003,2007”。默认值为“自动”。
- overwrite:指示是否覆盖文件(如果已存在)。允许的值为“ true,false”。默认值为“ false”。
- columnnames:新电子表格的列名的逗号分隔列表。列名不能包含空格。 输出属性
- file:更新的Excel工作簿的名称。
- sheet:将在工作簿中创建的Excel工作表的名称。如果名称与已经存在的名称冲突,则可能与指定的表不同。
excelDelete
在Excel工作表中按RowId删除行。
必要参数
- sheet:Excel工作表的名称。
- RowId:要从文档中删除的起始行索引,从1开始。
- count:要从文档中删除的行数。
可选参数
- version:您使用的Excel版本。允许的值为“ AUTO,95,97-2003,2007”,默认值为“自动”。
- file:Excel工作簿的路径。
- handle:Excel文件的句柄。
- headerlocation:列标题的位置,默认值为“无”。
- recalculate:如果为true,则将重新计算依赖于已更改单元格的单元格公式。如果不是,它们将在Excel中的第一个开口处进行计算。默认值是true’。
- Ignorecalcerror:如果将IgnoreCalcError设置为True,则将忽略由于公式计算而发生的任何错误。如果发生这种情况,公式结果可能不可靠,但其他数据将是准确的。默认值为“ false”。
- logfile:用于记录计算过程中发生的任何错误的日志文件。
- CloseFile:指示是立即关闭文件还是等待连接关闭。
输出属性
- file:更新的Excel工作簿的名称。
- sheet:Excel工作表的名称已更新。
excelGet
查询指定的Excel工作表。
必要参数
- sheet:Excel工作表的名称。
可选参数
- version:您使用的Excel版本。允许的值为“ AUTO,95,97-2003,2007”。默认值为“自动”。
- file:Excel工作簿的路径。
- handle:Excel文件的句柄。
- map:*:这组输入包含属性名称和要从电子表格中检索其值的单元格名称的映射。例如,属性名称map:MyValue的值为C1,将使用在工作表中C1的单元格中找到的值推送名为MyValue的属性。还可以指定一系列单元格名称来检索一系列单元格值。
输出属性
- *****:取决于工作表的内容和指定的查询。如果存在列标题,则它们将用于命名输出属性。
excelGetHeader
描述指定的Excel工作表。
必要参数
- sheet:Excel工作表的名称。
可选参数
- version:您使用的Excel版本。允许的值为“ AUTO,95,97-2003,2007”。默认值为“自动”。
- file:Excel工作簿的路径。
- handle:Excel文件的句柄。
- headerlocation:列标题的位置。默认值为“无”。
- headernames:您要使用的列或行标题的逗号分隔列表(例如,firstName,lastName)。
- recalculate:如果为true,请重新计算公式并保存结果,然后再返回值。默认值是true’。
- Ignorecalcerror:如果将ignorecalcerror设置为True,则将忽略由于公式计算而发生的任何错误。如果发生这种情况,公式结果可能不可靠,但其他数据将是准确的。默认值为“ false”。
- logfile:用于记录计算过程中发生的任何错误的日志文件。
- typedetectionscheme:用于检测数据类型的方案。
- rowScandepth:行扫描深度。
输出属性
- *****:取决于图纸的内容和指定的范围。
- meta:row:Excel文档中行的索引。
excelInsert
将记录追加到Excel工作表。
必要参数
- sheet:Excel工作表的名称。
- cell#:您要更新的单元格。
- value#:您要设置为范围的值。
可选参数
- version:您使用的Excel版本。允许的值为“ AUTO,95,97-2003,2007”。默认值为“自动”。
- file:Excel工作簿的路径。
- handle:Excel文件的句柄。
- headerlocation:列标题的位置。默认值为“无”。
- RowId:附加到文档的行的索引。
- dataType#:要设置为范围的数据类型。
- allowformula:如果为true,则以等号(=)开头的单元格值将被视为公式。默认值是true’。
- recalculate:如果为true,则将重新计算依赖于已更改单元格的单元格公式。如果不是,它们将在Excel中的第一个开口处进行计算。默认值是true’。
- ignorecalcerror:如果将IgnoreCalcError设置为True,则将忽略由于公式计算而发生的任何错误。如果发生这种情况,公式结果可能不可靠,但其他数据将是准确的。默认值为“ false”。
- logfile:用于记录计算过程中发生的任何错误的日志文件。
- CloseFile:指示是立即关闭文件还是等待连接关闭。
输出属性
- sheet:Excel工作表的名称已更新。
- RowId:附加到文档的行的索引。
excelListSheets
列出指定的Excel工作簿中的工作表。
可选参数
- version :您使用的Excel版本。允许的值为“ AUTO,95,97-2003,2007”。默认值为“自动”。
- file:Excel工作簿的路径。
- handle:Excel文件的句柄。
输出属性
- sheet:Excel工作表的名称。请注意,名称以$结尾。在为其他操作指定工作表名称时,这不是必需的。
excelOpen
打开一个现有的Excel工作簿。
必要参数
- file:Excel工作簿的路径。 可选参数
- version:您使用的Excel版本。允许的值为“ AUTO,95,97-2003,2007”。默认值为“自动”。
输出属性
- handle:用于执行其他操作的句柄。
excelUpdate
更新Excel工作表中的单元格。
必要参数
- sheet:Excel工作表的名称。
- RowId:更新到文档的行的索引。
- cell#:您要更新的单元格。
- value#:您要设置为范围的值。
可选参数
- version:您使用的Excel版本。允许的值为“ AUTO,95,97-2003,2007”。默认值为“自动”。
- file:Excel工作簿的路径。
- handle:Excel文件的句柄。
- headerlocation:列标题的位置。默认值为“无”。
- allowformula:如果为true,则以等号(=)开头的单元格值将被视为公式。默认值是true’。
- recalculate:如果为true,则将重新计算依赖于已更改单元格的单元格公式。如果不是,它们将在Excel中的第一个开口处进行计算。默认值是true’。
- Ignorecalcerror:如果将IgnoreCalcError设置为True,则将忽略由于公式计算而发生的任何错误。如果发生这种情况,公式结果可能不可靠,但其他数据将是准确的。默认值为“ false”。
- logfile:用于记录计算过程中发生的任何错误的日志文件。
- CloseFile:指示是立即关闭文件还是等待连接关闭。
输出属性
- file:更新的Excel工作簿的名称。
- sheet:Excel工作表的名称已更新。
- range:更新的单元格范围。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。