在项目开发过程中,经常需要将外部 Excel(.xlsx)文件导入 SAS 进行数据处理。但实际操作中,常遇到因源文件被其他程序(如 Excel 应用本身、云同步工具或杀毒软件)占用而导致 SAS 导入失败的问题。
首先,新建一个 .vbs 文件,内容为:
`Set fso = CreateObject(Scripting.FileSystemObject)`
随后,在 SAS 程序中启用系统命令执行权限,并调用该脚本:
`option xsync;`
`x cscript //nologo vbs路径;`
待复制完成,即可使用 SAS 的 `PROC IMPORT` 或 `LIBNAME XLSX` 方式安全导入新生成的副本文件,彻底规避文件锁定导致的报错。
相比之下,R 语言在读取 Excel 文件时通常不受此类文件占用问题影响。例如,使用 `readxl` 包可直接加载指定工作表与单元格范围:
`library(readxl)`
`import_data <- read_excel(文件路径.xlsx, sheet = sheet名, range = A1:D100, col_names = TRUE)`
该方式无需额外复制步骤,流程更简洁,兼容性也更强。