你可以很容易地添加MATLAB數據到Excel這樣的:
% Create some arbitrary graphics
f1 = figure; peaks; f2 = figure; membrane;
% Connect to Excel, make it visible and add a worksheet
xl = actxserver('Excel.Application'); set(xl,'Visible',1);
xl.Workbooks.Add(1); xls = xl.ActiveSheet;
% Paste in the MATLAB figures
print(f1, '-dbitmap'); xls.Range('E3').PasteSpecial;
print(f2, '-dbitmap'); xls.Range('I3').PasteSpecial;
我不知道你通過使由3英寸2英寸的圖像意味着什麼。這是屏幕上的大小?在什麼決議?還是打印時的尺寸?
您可以指定點直接的大小和圖像的位置:
xls.Shapes.Item(1).PictureFormat.CropLeft = 30;
xls.Shapes.Item(1).PictureFormat.CropRight = 30;
xls.Shapes.Item(1).Height = 200;
xls.Shapes.Item(1).Left = xls.Range('E3').Left;
但是如果你想它英寸你需要轉換爲點,這取決於它就是這樣的一種方式顯示。
您提到您持續使用actxserver
調用Excel;每次你寫每一條數據時,你會不斷地連接一遍又一遍?您可能不需要這樣做 - 更可能的是,您可以打開一個連接並將每個數據寫入它,然後保存該文件並關閉連接。
Excel對象模型的一個很好的參考資源是Microsoft documentation。這不是一個簡單的閱讀,雖然:)
有點類似的MS-Word的問題,可能會幫助:[裁剪MS Word圖像使用Matlab的ActiveX控件](http://stackoverflow.com/questions/7617124/crop-ms-字圖像 - 使用與Matlab的ActiveX控制/ 7617438#7617438) – Amro