Excel을 자동화 서버로 사용하여 스프레드시트 데이터 쓰기
이 예제에서는 Excel® 스프레드시트에 MATLAB® 행렬을 작성하는 방법을 보여줍니다. MATLAB 데이터를 Microsoft® Excel 스프레드시트로 내보내는 다른 방법은 스프레드시트에 나와 있는 함수와 예제를 참조하십시오.
Excel 객체를 생성합니다.
e = actxserver('Excel.Application');
통합 문서를 추가합니다.
eWorkbook = e.Workbooks.Add; e.Visible = 1;
첫 번째 시트를 활성화합니다.
eSheets = e.ActiveWorkbook.Sheets;
eSheet1 = eSheets.get('Item',1);
eSheet1.Activate
MATLAB 데이터를 워크시트에 넣습니다.
A = [1 2; 3 4]; eActivesheetRange = get(e.Activesheet,'Range','A1:B2'); eActivesheetRange.Value = A;
데이터를 MATLAB으로 다시 읽어옵니다. 여기서 배열 B
는 셀형 배열입니다.
eRange = get(e.Activesheet,'Range','A1:B2'); B = eRange.Value;
데이터를 double형 행렬로 변환합니다. 셀형 배열에 스칼라 값만 있는 경우 다음 명령을 사용하십시오.
B = reshape([B{:}],size(B));
통합 문서를 파일에 저장합니다.
SaveAs(eWorkbook,'myfile.xlsx')
Excel 프로그램에 파일 저장에 대한 대화 상자가 표시되는 경우 알맞은 응답을 선택하여 계속 진행합니다.
파일을 저장했으면 통합 문서를 닫으십시오.
eWorkbook.Saved = 1; Close(eWorkbook)
Excel 프로그램을 끝내고 서버 객체를 삭제합니다.
Quit(e) delete(e)
참고
메모리 누수 가능성을 예방하기 위해 통합 문서 객체를 반드시 닫으십시오.