检查excel工作表是否存在我想编写尝试从 excel 打开特定工作表的 JMP 脚本。
问题是如果我的一个 excel 文件不包括请求的工作表,那么 JMP 脚本 crush 。
我需要建议如何预防? (我的意思是,在打开 excel 之前检查它是否包含请求的工作表......)
这是我的代码:
add_to_DB = function({file_path, sheet, header_line, data_line},
new_dt = 打开(
文件路径,
工作表(表),
工作表设置(
标题从行开始( header_line ),
数据开始于行 (data_line))
);
……
Re: 检查excel工作表是否存在如果您想查找 Excel 工作簿中确实存在的工作表名称列表,您可以使用类似:
sheetList = 获取 Excel 工作表( "$SAMPLE_IMPORT_DATA\Team Results.xlsx" );
显示(工作表列表);
布赖恩·科科伦
JMP开发
Re: 检查excel工作表是否存在效果很好。
谢谢
Re: 检查excel工作表是否存在我怀疑有没有碰撞.
我不知道脚本有什么方法可以检查 Excel 工作簿中是否存在特定工作表或任何其他外部文件类型中的特定内容。 所以你的解决方案不会奏效。
像您这样的错误情况在现实生活中经常发生。 在脚本中有一些方法可以处理它们。 你学过JSL了吗? 你应该阅读帮助>图书>脚本指南. 当前版本中的第 8 章涵盖了编程方法比如错误处理。
当所需的工作表存在时,您确定您的代码有效吗?
一种方法是注意 Open() 函数返回的内容。 返回日志的是什么? 你看过了吗? 您可以将结果存储在一个变量中,然后测试它是否成功。
或者,您可以使用内置的错误处理机制来捕获错误条件。 在您的情况下,此机制将像以下示例一样工作:
Try(
new_dt = Open(
file_path,
Worksheets( sheet ),
Worksheet Settings( Headers Start on Row( header_line ), Data Starts on Row( data_line ) )
),
// code in case Open() fails
);;
// code in case Open() succeeds