无论读取还是保存,都需要使用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文件时,再次保存相同的文件名,并不会覆盖原来的文件,而是在这个文件上继续添加数据。