【发布时间】:2020-08-30 15:28:05
【问题描述】:
我在 MATLAB 中生成了一个 excel 文件,并成功保存并关闭它:
invoke(Workbook,'Save')
invoke(Excel,'Quit');
delete(Excel);
clear Excel;
但是,当我使用 PlotInExcel 将图形添加到该 excel 文件时,我无法再次使用相同的代码保存和关闭文件。这是PlotInExcel:
function PlotInExcel
x= {1:10};
a= cell2mat(x);
y= {1:10};
b= cell2mat(y);
%............plotting......................
plot(a,b);
xlabel('X Values');
ylabel('Y Values');
print -dmeta; %.................Copying to clipboard
FILE = 'C:DATA.xlsx';
Range='OL14';
%.............excel COM object...........................................
Excel = actxserver ('Excel.Application');
Excel.Visible = 1;
if ~exist(FILE,'file')
ExcelWorkbook=Excel.Workbooks.Add;
ExcelWorkbook.SaveAs(FILE);
ExcelWorkbook.Close(false);
end
invoke(Excel.Workbooks,'Open',FILE); %Open the file
ActiveSheet = Excel.ActiveSheet;
ActiveSheetRange = get(ActiveSheet,'Range',Range);
ActiveSheetRange.Select;
ActiveSheetRange.PasteSpecial; %.................Pasting the figure to the selected location
%-----------------------------------end of function"PlotInExcel----------
我如何让 MatLab 现在保存这个文件并退出?上面的上述代码现在不起作用。有没有办法在函数中添加代码?或者我可以/应该在我的脚本中保存/关闭函数之外的文件吗?
【问题讨论】:
-
也许,这里的问题:“FILE = 'C:DATA.xlsx';”?你忘了'\'?
-
谢谢,但这只是我的查询中的一个错字......不是实际代码的一部分。你是对的,该行应该是“FILE = 'C:\DATA.xlsx';”。但这并没有(没有)解决问题或回答如何保存和退出 excel。
-
谢谢!让我检查一下。看起来有点不同的代码。可以工作。
-
嗯...我仍然无法让 PlotInExcel 保存、关闭和退出,以便我可以将更多数据添加到我的 excel 文件以及稍后在脚本中添加第二个图形。 Excel 文件在第一次通过 PlotInExcel 后挂起打开