無論讀取還是保存,都需要使用gdx文件作爲中介。
讀取時,先將excel的數據轉換到gdx中,然後讀取數據至內存。
eg:
set
i/usa,eu,row/
t/2005*2010/
;
parameters
LandRate(i,t)
CapitalRate(i,t)
SkLabRate(i,t)
UnskLabRate(i,t)
NatResRate(i,t)
test(i)
;
$call "gdxxrw ../data/trend.xlsx output=../data/trend.gdx par=NatResRate rng=NatRes! par=LandRate rng=Land! par=CapitalRate rng=Capital! par=SkLabRate rng=SkLab! par=UnskLabRate rng=UnskLab!"
$GDXIN ../data/trend.gdx
$load LandRate CapitalRate SkLabRate UnskLabRate NatResRate
$GDXIN
display
LandRate
CapitalRate
SkLabRate
UnskLabRate
NatResRate;
將數據保存至excel時,首先要將內存中的變量或者參數保存成gdx形式,如後轉到到excel。
eg:
execute_unload "../data/ReTest.gdx" NatResRate
execute 'gdxxrw.exe ../data/ReTest.gdx output=../data/ReTest.xlsx par=NatResRate rng=sheet1!'
注意:當data目錄下已經存在ReTest.xlsx文件時,再次保存相同的文件名,並不會覆蓋原來的文件,而是在這個文件上繼續添加數據。