설명
다른 매개변수와 병합/지우기된 2차원 매개변수를 작성하여 GDXXRW를 테스트하세요. Excel의 레이아웃 rdim=1 cdim=1, rdim=2 cdim=0 기고자: Michael Bussieck, 2016년 10월
소형 모델 유형 :슬롯 나라
카테고리 : 슬롯 나라 테스트 라이브러리
메인 파일 : gdxxrw7.gms
$title 특수 데이터 레이아웃에 대한 병합 및 지우기 옵션 테스트(GDXXRW7,SEQ=698)
$onText
다른 항목과 병합/지우기된 2차원 매개변수를 작성하여 GDXXRW를 테스트하세요.
Excel의 레이아웃
rdim=1 cdim=1, rdim=2 cdim=0
기고자: Michael Bussieck, 2016년 10월
$offText
* Excel이 설치되어 있지 않으면 종료하십시오.
$callTool win32.msappavail Excel
$if errorlevel 1 $abort.noError "사용 가능한 Excel이 없습니다."
t /t1*t5/ 설정; s /s1*s3/을 설정합니다;
매개변수 a(s,t), a11(s,t), a20(s,t), a02(s,t), diff(s,t);
a(s,t) = round(uniform(0,1),2);
Execute_unload "a.gdx", a;
$call cp -f 희미한 테스트.xlsx 병합 테스트.xlsx
$call cp -f 희미한 테스트.xlsx 클리어테스트.xlsx
* 스프레드시트 저장 및 닫기
ExecuteTool 'win32.excelTalk saveAndClose mergetest.xlsx';
* 글쓰기
'gdxxrw.exe o=mergetest.xlsx i=a.gdx par=a rng=11!a1:f4 rdim=1 cdim=1 merge par=a rng=20!a1:c15 rdim=2 cdim=0 merge par=a rng=02!a1:o3 rdim=0 cdim=2 merge log=gdxxrw.log'를 실행합니다.
abort$errorlevel 'gdxxrw.exe o=mergetest.xlsx'
'gdxxrw.exe o=cleartest.xlsx i=a.gdx par=a rng=11!a1:f4 rdim=1 cdim=1 Clear par=a rng=20!a1:c15 rdim=2 cdim=0 merge par=a rng=02!a1:o3 rdim=0 cdim=2 merge log=gdxxrw.log'를 실행합니다.
abort$errorlevel 'gdxxrw.exe o=cleartest.xlsx'
* 독서
'gdxxrw.exe o=mergegdx.gdx i=mergetest.xlsx par=a11 rng=11!a1 rdim=1 cdim=1 par=a20 rng=20!a1 rdim=2 cdim=0 par=a02 rng=02!a1 rdim=0 cdim=2 log=gdxxrw.log'를 실행합니다.
abort$errorlevel 'gdxxrw.exe o=mergegdx.gdx'
Execute_load 'mergegdx', a11, a20, a02;
diff(s,t) = a(s,t)-a11(s,t); 중단$카드(diff) a,a11,diff;
diff(s,t) = a(s,t)-a20(s,t); 중단$카드(diff) a,a20,diff;
diff(s,t) = a(s,t)-a02(s,t); 중단$card(diff) a,a02,diff;
'gdxxrw.exe o=cleargdx.gdx i=cleartest.xlsx par=a11 rng=11!a1 rdim=1 cdim=1 par=a20 rng=20!a1 rdim=2 cdim=0 par=a02 rng=02!a1 rdim=0 cdim=2 log=gdxxrw.log'를 실행합니다.
abort$errorlevel 'gdxxrw.exe o=cleargdx.gdx'
Execute_load 'cleargdx', a11, a20, a02;
diff(s,t) = a(s,t)-a11(s,t); 중단$카드(diff) a,a11,diff;
diff(s,t) = a(s,t)-a20(s,t); 중단$카드(diff) a,a20,diff;
diff(s,t) = a(s,t)-a02(s,t); 중단$카드(차이) a,a02,차이;