You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GAMS中xldump生成Excel工作表失败(只读文件报错)的解决方法

GAMS xldump 生成Excel工作表失败问题解决

问题现象

使用GAMS结合gtree输出模型结果时,仅能成功创建一个Excel工作表,另一个创建失败。输出代码如下:

$libinclude xldump Water_balance_summary Output\Annual_water_balance.xls Water_Balance_Total!A1
$libinclude xldump Water_balance_summary_F Output\Annual_water_balance.xls Water_Balance_F_Total!A1

其中Water_Balance_Total工作表始终无法在目标Excel文件中创建为独立工作表,Water_Balance_F_Total工作表可正常创建无报错。

错误信息

xllink.err文件中记录的错误内容:

Any changes made to the spreadsheet were not saved
Total time = 2922 Ms
GDXXRW           24.2.1 r43572 Released Dec  9, 2013 VS8 x86/MS Windows       
Input file : C:\path\xllink.gdx
Output file: C:\path\Output\Water_Balance_Total.xls
**** Unable to save XLS file: Cannot access read-only document 'Water_Balance_Total.xls'

解决方案

  • 检查文件状态:确认Output目录下是否存在Water_Balance_Total.xls文件,若存在,检查是否被Excel打开(文件被锁定)或设置为只读属性。关闭该文件或取消只读属性后重新运行模型。
  • 调整输出命令顺序:将Water_Balance_Total的输出命令放在Water_Balance_F_Total之前执行,避免后续操作导致文件锁定。
  • 指定写入模式:修改xldump调用,添加rw参数强制以可写模式打开文件:
    $libinclude xldump Water_balance_summary Output\Annual_water_balance.xls Water_Balance_Total!A1 rw
    
  • 升级GDXXRW组件:当前使用的GDXXRW版本为2013年发布的旧版本,存在多工作表写入的兼容性问题,建议升级到最新版GAMS,使用更新的GDXXRW工具。
  • 清理残留进程:确保没有其他进程占用目标Excel文件,可通过任务管理器关闭Excel相关进程后重试。

内容的提问来源于stack exchange,提问作者Thomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 08:42:42