核心功能
- 在表格(Table)和範本(Template)模式下提供 Excel/XML 的雙向轉換
- 使用 ArcScript 實現動態資料填充的高階範本系統
- 支援多個工作表,並可配置行/列範圍
概覽
Excel 端口可以配置為兩種模式:表模式和範本模式。這些模式如下所述。表模式
Excel 端口的預設模式是 Table。此模式僅支援將檔案從 XLSX 轉換為 XML。若要從 XML 轉換為 XLSX,請使用 Template 模式。 在表模式中,端口會像處理 CSV 檔案一樣處理輸入 XLSX 檔案。生成的輸出 XML 檔案具有以下結構,原始檔案中的每一行(記錄)都會成為根元素 Items 的子元素:範本模式
在 Template 模式中,端口使用範本檔案執行轉換。此範本檔案與輸出檔案格式相匹配:- 從 XML 轉換為 Excel 時,範本檔案是 Excel 檔案。
- 從 Excel 轉換為 XML 時,範本檔案是 XML 檔案。
端口配置
本節包含所有可配置的端口屬性。設定
配置
與端口核心配置相關的設定。進階設定
前面類別中未包含的設定。高階頁面
訊息
日誌
其他設定
其他設定
自動化
與端口自動處理檔案相關的設定。自動化設定
效能
警示
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:用於執行其他操作的控制代碼。