설명
이 모델은 메가 슬롯 Connect를 사용하여 Excel을 읽고 씁니다. Excel이 설치된 Windows에서는 출력 시트가 병합됩니다. 입력 통합 문서로 다시 돌아갑니다. 기고자: Michael Bussieck, 2022년 9월
카테고리 : 메가 슬롯 데이터 유틸리티 라이브러리
메인 파일 : connect05.gms 다음을 포함합니다: connect05.gms
$title 'Excel용 단순 연결 예' (CONNECT05,SEQ=148)
$onText
이 모델은 메가 슬롯 Connect를 사용하여 Excel을 읽고 씁니다.
Excel이 설치된 Windows에서는 출력 시트가 병합됩니다.
입력 통합 문서로 다시 돌아갑니다.
기고자: Michael Bussieck, 2022년 9월
$offText
i / i1*i3 / 설정; 별칭(i,j,k);
테이블 a(i,j) '원래 행렬'
i1 i2 i3
나는1 1 2 3
나는2 1 3 4
나는3 1 4 3
;
$onEmbeddedCode 연결:
- 메가 슬롯리더:
기호:
- 이름 : a
- 엑셀작성기:
파일: input.xlsx
기호:
- 이름 : a
$offEmbeddedCode
$onMultiR
$clear 나는 a
$onEmbeddedCode 연결:
- 엑셀리더:
파일: input.xlsx
기호:
- 이름 : a
- 프로젝션:
이름: a(i,j)
새로운 이름: i(i)
자산 세트: 참
- 메가 슬롯작성기:
기호: 모두
중복 레코드: 첫 번째
$offEmbeddedCode 나는
매개변수
inva(i,j) 'a의 역수'
chk(i,j) '제품 a * inva 확인'
;
ExecuteTool.checkErrorLevel 'linalg.invert i a inva';
* 기호 inva는 ExecutionTool.checkErrorLevel에 의해 암시적으로 로드되었습니다. 컴파일러
* 다음 줄의 명령은 할당되지 않은 기호에 대한 오류를 억제합니다.
$onImplicitAssign
임베디드 코드 연결:
- 메가 슬롯리더:
기호:
- 이름 : 인바
- 엑셀작성기:
파일: 출력.xlsx
기호:
- 이름 : 인바
endEmbeddedCode
스칼라 mergedRead /0/;
ExecuteTool 'win32.msappavail Excel';
mergedRead$(errorLevel=0) = 1;
if(병합읽기,
ExecuteTool.checkErrorLevel 'win32.excelMerge 출력.xlsx 입력.xlsx';
임베디드 코드 연결:
- 엑셀리더:
파일: input.xlsx
기호:
- 이름 : a
- 이름 : 인바
- 메가 슬롯작성기:
기호: 모두
endEmbeddedCode 인바
그렇지 않으면
임베디드 코드 연결:
- 엑셀리더:
파일: input.xlsx
기호:
- 이름 : a
- 엑셀리더:
파일: 출력.xlsx
기호:
- 이름 : 인바
- 메가 슬롯작성기:
기호: 모두
endEmbeddedCode 인바
);
chk(i,j) = sumk, a(i,k)*inva(k,j);
chk(i,j) = round(chk(i,j),15);
a,inva,chk를 표시합니다.
chk(i,i) = chk(i,i) - 1;
abort$[card(chk)] 'a * ainv <> ID';