Main Content

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)

참고

메모리 누수 가능성을 예방하기 위해 통합 문서 객체를 반드시 닫으십시오.

참고 항목

관련 항목