Matlab 将excel图表导出为图片(通过自动化)
我正在尝试获取excel图形的句柄,并通过MATLAB保存它 到目前为止,我已经成功地在工作表中循环并获得图形对象的句柄,但我无法保存它。Matlab 将excel图表导出为图片(通过自动化),matlab,vba,excel,com,Matlab,Vba,Excel,Com,我正在尝试获取excel图形的句柄,并通过MATLAB保存它 到目前为止,我已经成功地在工作表中循环并获得图形对象的句柄,但我无法保存它。 有人知道如何将对象导出为jpg或png或其他图形格式吗 我使用SaveAs方法尝试了下面的代码,但不起作用 Workbook = Workbooks.Open(['file.name]); Sheets = Workbook.Sheets; for i = 1:Sheets.Count Activesheet = get(Sheets, 'Item'
有人知道如何将对象导出为
jpg
或png
或其他图形格式吗
我使用SaveAs
方法尝试了下面的代码,但不起作用
Workbook = Workbooks.Open(['file.name]);
Sheets = Workbook.Sheets;
for i = 1:Sheets.Count
Activesheet = get(Sheets, 'Item',i);
for j = 1:Activesheet.ChartObjects.Count
obj = Activesheet.ChartObjects(j);
obj.SaveAs('asfasfa.jpg')
end
end
excel
图表
对象具有一个导出
方法
Microsoft文档:
例如,我创建了一个简单的excel文件(名为
test\u save\u chart.xlsx
),第一页中有一个图表。将此图表导出为PNG
图片非常简单:
xfile='test_save_chart.xlsx';
exl=actxserver('excel.application');%//创建一个COM服务器
exlFile=exl.Workbooks.Open([pwd'\'xfile]);%'//打开文件
chartobj=exlFile.Sheets.Item('Sheet1')。ChartObjects(1);%//获取图表对象的句柄
chartobj.Chart.Export('C:\TEMP\StackExchange\testChartExport.png','png')%//导出到png
在您的情况下,在您的循环中,它非常简单:
chartobj=Activesheet.ChartObjects(j);
Export('your_filename_here.png','png')
由于您是在循环中执行此操作,因此必须动态生成文件名(否则您将一次又一次地覆盖同一文件)
请注意,建议使用
png
格式,而不是jpg
,特别是“线条艺术”风格的图片,如excel图表制作。刚刚编辑的问题绝对完美,非常感谢。工作得很有魅力