当前位置:   article > 正文

MATLAB中Figure图像导入至Excel(附源码)_matalb 的动图如何放在excel

matalb 的动图如何放在excel

MATLAB编码思路如下

1.创建一个 Excel 应用程序对象;

2.打开指定路径中的Excel表格;

3.将plot生成的图片打印到剪切板上;

4.设置图片在Excel的位置,以及Excel表格的大小;

5.保存并关闭工作簿;

6.关闭Excel应用程序实例并释放与之关联的资源。

说明:其中第1、5、6三步为固定格式代码,在第2、3、4步中可根据实际需求设置Excel的路径图片清晰度(dpi)图片粘贴的位置(Sheet)及表格的行高(RowHeight)列宽(ColumnWidth)。源代码如下所示:

  1. clc;clf;close;
  2. %% plot生成图片
  3. pic = figure(1);
  4. x=1:100;
  5. y=sin(x);
  6. plot(x,y);grid on;
  7. %% 导入Excel
  8. % 1.通过 actxserver 函数创建一个 Excel 应用程序对象,并设置其为可见状态
  9. objExcel = actxserver('Excel.Application');
  10. objExcel.Visible = true;
  11. % 2.打开指定路径中的Excel表格,并将其激活
  12. excelWorkbook = objExcel.Workbooks.Open('D:\DeskTemp\Temp.xlsx'); % 路径及文件名称需根据实际情况修改
  13. excelSheet = excelWorkbook.ActiveSheet;
  14. % 3.设置打印分辨率,此处dpi设为 60 .数值愈大,图像的清晰度愈高
  15. dpi = 60
  16. % 将plot绘制的图形以指定的分辨率打印到剪贴板上, pic为figure(1)的句柄,打印图片的格式是位图(-dbitmap)。
  17. print(pic, sprintf('-r%d', dpi), '-clipboard', '-dbitmap');
  18. % 4.设置图片打印的位置、表格的行高与列宽
  19. Str = 'A';  RowNum = 1 ;
  20. Sheet = [Str,num2str( RowNum )];              %Sheet变量确定单元格位置
  21. excelSheet.Range( Sheet ).PasteSpecial();     %将图像粘贴到Sheet变量指定的单元格
  22. excelSheet.Columns.Item(Str).ColumnWidth = 48.33;    %设置列宽
  23. excelSheet.Rows.Item( RowNum ).RowHeight = 198.6;      %设置行高
  24. % 5.保存并关闭工作簿
  25. excelWorkbook.Save;
  26. excelWorkbook.Close();
  27. % 6.关闭Excel应用程序实例并释放与之关联的资源
  28. objExcel.Quit();
  29. objExcel.delete();

运行前后结果:

运行前,在D:\DeskTemp中新建空白表格Temp.xlsx

 代码运行后,可见plot生成的图片已导出至A1表格中。(MATLAB代码运行时需关闭Temp.xlsx

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/648709
推荐阅读
相关标签
  

闽ICP备14008679号