2016-06-30 1 views
0

다른 엑셀 시트에 차트를 저장 :이 내가해야 할 일이다

  • 1))
  • 2 matlab에
  • 을 사용하여 기존 Excel 파일을 열고 matlab에를 사용하여 엑셀 파일에 데이터 쓰기 (현재 사용 xlswrite1)
  • 3) 내가

를 지정 엑셀 파일의 기존 시트에 차트를 삽입 나는 # 1과 # 2의 작업을 가지고,하지만 난 # 3에 갇혔어요.

# 3을 시도한 것은 별도의 새 시트에 넣거나 (활성 시트를 지정할 때조차도) 올바른 시트에 넣습니다.하지만 어떻게 든 차트의 핸들을 잃어 버릴 수는 없습니다. 오류가 발생하지 않고 ChartType을 할당하십시오.

+0

Linux 또는 Windows에서 작업 하시겠습니까? – bushmills

답변

0

다음은 Excel 시트에 MATLAB Figure를 삽입하기 위해 Mathworks Support Team (아래 링크)에서 제공 한 코드입니다. 시트를 원하는 용지로 업데이트해야 할 수도 있습니다. 상기 응답

% Create sample image from figure 

img = 'figure1.png'; 

plot(1:10); 

print('-dpng', img); 

% Get handle to Excel COM Server 

Excel = actxserver('Excel.Application'); 

% Set it to visible 

set(Excel,'Visible',1); 

% Add a Workbook 

Workbooks = Excel.Workbooks; 

Workbook = invoke(Workbooks, 'Add'); 

% Get a handle to Sheets and select Sheet 1 

Sheets = Excel.ActiveWorkBook.Sheets; 

Sheet1 = get(Sheets, 'Item', 1); 

Sheet1.Activate; 

% Alternative 1 BEGIN. 

% Get a handle to Shapes for Sheet 1 

Shapes = Sheet1.Shapes; 

% Add image 

Shapes.AddPicture([pwd '\' img] ,0,1,400,18,300,235); 

% Alternative 1 END. 

% Alternative 2 BEGIN. 

% Add image 

Sheet1.invoke('Pictures').Insert([pwd '\' img]); 

% Alternative 2 END. 

% Save the workbook and Close Excel 

invoke(Workbook, 'SaveAs', [pwd '\myfile.xls']); 

invoke(Excel, 'Quit'); 

% In the above code (Alternative 1), Excel's Shapes.AddPicture Method is used to insert a figure in the Excel Sheet - Mathworks. 

Link

: H K.Berg 의해

함수 img2xlsx - 신규 또는 기존 XLSX 파일에 하나 또는 다수의 이미지 (들)를 전송한다) MATLAB 중심부로부터 될 수 downloaded

+0

고마워, 알아 냈어. 그리고 솔루션 2는 실제로 내가하려고했던 것이 아닙니다. MATLAB 그림을 Excel에 삽입하는 것뿐만 아니라 Excel에서 Excel 그림을 Excel로 만들려고했습니다. 다음과 같이 사용하게되었습니다. Excel = actxserver ('Excel.Application'); 통합 문서 = 호출 (Excel.Workbooks, 'Open', fullfilename); resultsheet = name; sheet = get (Excel.Worksheets, 'Item', resultsheet); invoke (시트, '활성화'); Chart = Excel.ActiveSheet.Shapes.AddChart2; 활성 시트 명령이 호출 차트 명령과 작동하지 않는 것 같습니다. – K255

관련 문제