excelOpen
Version 24.3.9111
excelOpen
为现有 Excel 工作簿创建可读句柄。
必需的参数
- file: Excel 工作簿在磁盘上的完整路径,包括文件名。
可选的参数
- version: 目标工作簿的 Excel 版本。 允许的值为
AUTO
、95
、97-2003
、2007
。 默认为自动
。
输出属性
- handle: 对 Excel 数据的可读句柄引用。 该句柄可供后续操作使用,如下例所示。
示例
此示例打开磁盘上的现有 Excel 工作簿,使用 excelGet 操作从特定单元格读取数据,关闭 Excel 工作簿,并将该数据作为新的输出文件推送。
<!-- 创建操作的输入项并将其传入 -->
<arc:set attr="excel.file" value="C:\Temp\movies.xlsx" />
<arc:call op="excelOpen" in="excel" out="result" >
<!-- 解析 excelOpen 中的句柄以在 excelGet 中使用 -->
<arc:set attr="get.handle" value="[result.handle]" />
<arc:set attr="get.sheet" value="film" />
<arc:set attr="get.version" value="2007" />
<arc:set attr="get.map:favoritemovie" value="A2" />
<arc:set attr="get.map:favoritemovieyear" value="B2" />
<!-- 在excelOpen内部调用excelGet来使用句柄-->
<arc:call op="excelGet" in="get" out="out">
<!-- 根据从 Excel 工作表读取的数据创建一些输出数据和文件 -->
<arc:set attr="output.data" value="My favorite movie is [out.favoritemovie] and it came out in [out.favoritemovieyear]." />
<arc:set attr="output.filename" value="results.txt" />
<!-- 使用 arc:finally 关键字最后执行句柄的关闭 -->
<arc:finally>
<!-- 调用excelClose关闭句柄-->
<arc:call op="excelClose" in="excel" out="close">
<!-- 检查以确保句柄已关闭,如果未关闭则抛出错误 -->
<arc:exists attr="close.success" >
<arc:else>
<arc:throw code="CloseFailed" desc="The handle was not closed successfully." />
</arc:else>
</arc:exists>
</arc:call>
</arc:finally>
</arc:call>
</arc:call>
<!-- 将输出项作为文件推送出去 -->
<arc:push item="output" />
注意:当使用excelOpen时,请务必在脚本末尾使用excelClose操作关闭句柄,以避免通过打开的句柄泄漏内存。