我有2个Set和一个参数,我想将这些数据导出到excel
set
j/1*200/
E(i,j)
v(i)
a(i);
alias(i,j);
我想让“ v”是Sheet1,在sheet2中有“ a”,在sheet3中有“ e”。 我不知道我的布景。
whice命令有用吗?
我的尝试不正确:
我的尝试
execute_unload "result.gdx" v a e
execute 'gdxxrw.exe result3.gdx o=result3.xlsx par=v rng=Sheet1'
execute 'gdxxrw.exe result3.gdx o=result3.xlsx par=a rng=Sheet2'
execute 'gdxxrw.exe result3.gdx o=result3.xlsx par=e rng=Sheet3 '
答案 0 :(得分:2)
我认为您需要更改两件事:
因此,总的来说,您应该可以使用以下方法:
execute 'gdxxrw.exe result3.gdx o=result3.xlsx set=v rng=Sheet1!'
execute 'gdxxrw.exe result3.gdx o=result3.xlsx set=a rng=Sheet2!'
execute 'gdxxrw.exe result3.gdx o=result3.xlsx set=e rng=Sheet3!'
请注意,实际上您也可以在一个呼叫中做到这一点:
execute 'gdxxrw.exe result3.gdx o=result3.xlsx set=v rng=Sheet1! set=a rng=Sheet2! set=e rng=Sheet3!'
最后一点:在GAMS中使用“执行”时,通常在调用后检查errorLevel很有用。