如何在matlab中向excel工作簿添加更多工作表?
我设置了这样的工作簿(基于我在本论坛中从别人的帖子中获得的代码):
%# create Excel COM Server
Excel = actxserver('Excel.Application');
Excel.Visible = true;
%# create new XLS file
wb = Excel.Workbooks.Add();
wsheet=1;
wb.Sheets.Item(wsheet).Activate();
没关系。然后在循环内部,我在这么多循环之后打开一个新的工作表:
...
if loop==sheetlimit,
wsheet=wsheet+1;
wb.Sheets.Item(wsheet).Activate();
end
这适用于工作表3.但是当wsheet = 4时,我收到此错误消息:
??? Invoke Error, Dispatch Exception: Invalid index.
Error in ==> filename at 97
wb.Sheets.Item(wsheet).Activate();
感谢任何帮助。感谢。
答案 0 :(得分:3)
我不知道Matlab但是如果wb.Sheets.Item(wsheet).Activate();
实际上添加了任何新的工作表,我会感到惊讶。很可能是在wb
工作簿中选择/激活每个工作表,而您的默认Excel模板有三个工作表。因此,当它达到三个以上时,它会出错。
像这样的可能添加一个新的Excel工作表:
wb.sheets.Add();
答案 1 :(得分:1)
Aargh - 评论格式完全搞砸了 - 我会重新输入它作为新答案
是wb.sheets.Add();
可行。您可以查询界面的可用方法,如下所示:
methods(wb.sheets)
给出:
Methods for class Interface.000208D7_0000_0000_C000_000000000046:
Add FillAcrossSheets PrintOut addproperty events loadobj set
Copy Item PrintPreview delete get release
Delete Move Select deleteproperty invoke saveobj