核心功能
- 在表格(Table)和模板(Template)模式下提供 Excel/XML 的双向转换
- 使用 ArcScript 实现动态数据填充的高级模板系统
- 支持多个工作表,并可配置行/列范围
概览
Excel 端口可以配置为两种模式:表模式和模板模式。这些模式如下所述。表模式
Excel 端口的默认模式是 Table。此模式仅支持将文件从 XLSX 转换为 XML。若要从 XML 转换为 XLSX,请使用 Template 模式。 在表模式中,端口会像处理 CSV 文件一样处理输入 XLSX 文件。生成的输出 XML 文件具有以下结构,原始文件中的每一行(记录)都会成为根元素 Items 的子元素:模板模式
在 Template 模式中,端口使用模板文件执行转换。此模板文件与输出文件格式相匹配:- 从 XML 转换为 Excel 时,模板文件是 Excel 文件。
- 从 Excel 转换为 XML 时,模板文件是 XML 文件。
端口配置
本节包含所有可配置的端口属性。设置
配置
与端口核心配置相关的设置。高级设置
前面类别中未包含的设置。高级页面
消息
消息设置确定端口如何搜索消息并在处理后管理它们。
| 设置 | 描述 |
|---|---|
| 保存到已发送文件夹 | 选中此项可将端口处理的文件复制到该端口的“已发送”文件夹中。 |
| 已发送文件夹方案 | 端口根据选定的时间间隔对 已发送 文件夹中的文件进行分组。例如,Weekly 选项指示端口每周创建一个新的子文件夹,并将本周发送的所有文件存储在该文件夹中。空白设置告诉端口将所有文件直接保存在 已发送 文件夹中。对于处理许多事务的端口,使用子文件夹可以帮助保持文件有序并提高性能。 |
日志
用于管理日志创建和存储的设置。
| 设置 | 描述 |
|---|---|
| 日志级别 | 指定要记录在端口日志目录中的信息类型:
|
| 日志文件夹结构 | 指示端口根据选定的时间间隔将日志文件夹中的文件分组。例如,Weekly 选项指示端口每周创建一个新的子文件夹,并将该周的所有日志存储在该文件夹中。空白设置告诉端口将所有日志直接保存在日志文件夹中。对于处理许多事务的端口,使用子文件夹有助于保持日志的有序性并提高性能。 |
| 保留消息副本 | 指示端口在日志目录中保存最新消息副本的切换。请注意,端口每个子文件夹只保留一个消息,并且端口在再次运行时会覆盖以前保存的消息。 |
其他设置
其他设置
特殊设置适用于特定用例。
| 设置 | 描述 |
|---|---|
| 其他设置 | 允许在以分号分隔的列表中配置隐藏的端口设置,例如 setting1=value1;setting2=value2。正常的端口用例和功能不需要使用这些设置。 |
自动化
与端口自动处理文件相关的设置。自动化设置
性能
与端口资源分配相关的设置。
| 设置 | 描述 |
|---|---|
| 最大工作线程数 | 此端口上处理文件时从线程池中消耗的最大工作线程数。如果设置,则会覆盖 高级设置 页面的 性能设置 部分的默认设置。 |
| 最大文件数 | 分配给端口的每个线程发送的最大文件数。如果设置,则会覆盖 高级设置 页面的 性能设置 部分的默认设置。 |
警报
SLA
模板
XML 到 Excel
下面的 XML 文件片段在/Items/Orders 路径下包含一组元素。

- 静态列标题。在上例中为 Order Detail。
- Excel 批注中的脚本。此脚本应使用 xmlDOMSearch 操作,在指定 XPath 处循环遍历输入 XML。在上例中,它包含在 arc:call 操作中。
- Excel 单元格中的脚本。此脚本应使用 xpath 格式化器 从给定 xpath 读取 XML 中的值。此 xpath 相对于 xmlDOMSearch 操作中指定的 xpath。
xmlDOMSearch
xmlDOMSearch 需要两个参数:xpath 格式化器
带有 xmlDOMSearch 操作的 Excel 批注围绕一块单元格,这些单元格通过 xpath 格式化器引用输入 XML。xpath 格式化器从输入 XML 中指定的 xpath 读取值。此 xpath 相对于作为参数提供给 xmlDOMSearch 操作的路径。
[xpath("OrderNo")] 填充。由于此 xpath 是相对路径,因此该单元格会填充输入 XML 中以下路径的值:/Items/Orders/OrderNo。
如果 xmlDOMSearch 操作循环多次(即找到该操作 xpath 参数的多个实例),则 Excel 批注之间的单元格块会重复。新单元格会垂直添加,因此在上例中,第二个 OrderNo 单元格会直接位于第一个 Notes 单元格下方。
Excel 到 XML
要从 XLSX 转换为 XML 文件,必须使用 ArcScript 命令创建自定义 XML 模板。由于 XML 不支持与 Excel 文件相同的脚本功能,因此从 XLSX 转换为 XML 的结构和格式与从 XML 转换为 Excel 不同。由于潜在的输入和输出结构范围很广,因此没有适用于所有转换需求的通用解决方案。下面显示的示例模板只是众多可能方案之一。你需要根据自己的需求创建模板。
arc:set 行指定文件位置以及用于创建该文件的 Excel 版本。
[_value | toalphanum | replace(' ','')] 表示 arc:set 命令应从 Excel 文件解析标题名称,将其转换为字母数字格式,删除空格,并将其指定为 XML 文件中的标题。
宏
示例
Excel 运算器
除了 知行之桥 提供的操作之外,端口还可以提供将功能扩展到 ArcScript 的操作。 这些端口操作可以像任何其他 ArcScript 操作一样调用,但有两个细节例外:- 它们必须通过
connector.rsc端点调用。 - 它们必须包含身份验证令牌。
excelClose
关闭 Excel 连接。可选参数
- handle:Excel 文件的句柄。
输出属性
- success:如果连接成功关闭,则为 True。
excelGet
查询指定的 Excel 工作表。必需参数
- sheet:Excel 工作表的名称。
可选参数
- version:正在使用的 Excel 版本。默认值为 AUTO。仅当使用旧版 Excel 时才需要选择其他版本。
- file:Excel 工作簿的路径。
- handle:Excel 文件的句柄。
- map:*:这组输入包含属性名称与要从电子表格中检索其值的单元格名称之间的映射。例如,属性名称 map:MyValue 的值为 C1 时,会推送一个名为 MyValue 的属性,其值为工作表中 C1 单元格中的值。可以指定单元格名称范围以检索一系列单元格值。
输出属性
- *:取决于工作表内容和指定的查询。如果存在列标题,则会用于命名输出属性。
excelListSheets
列出指定 Excel 工作簿中的工作表。可选参数
- version:正在使用的 Excel 版本。默认值为 AUTO。仅当使用旧版 Excel 时才需要选择其他版本。
- file:Excel 工作簿的路径。
- handle:Excel 文件的句柄。
输出属性
- isHidden:如果工作表在 Excel 中隐藏,则返回 true。
- sheet:Excel 工作表的名称。 Note that the name ends with $. This is not required when specifying worksheet names to other operations.
excelOpen
打开现有 Excel 工作簿。必需参数
- file:Excel 工作簿的路径。
可选参数
- version:正在使用的 Excel 版本。默认值为 AUTO。仅当使用旧版 Excel 时才需要选择其他版本。
输出属性
- handle:用于执行其他操作的句柄。