如何在MATLAB中向excel工作簿中添加3张以上的表格

如何在matlab中添加更多的工作簿到excel工作簿?

我设置了这样的工作簿(根据我从其他人的post得到的代码):

%# 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(); 

感谢任何帮助。 谢谢。

我不知道Matlab,但我会惊讶,如果wb.Sheets.Item(wsheet).Activate(); 实际上是添加任何新的工作表。 最有可能的是select/激活您的工作簿中的每个工作表,并且您的默认Excel模板有三个工作表。 因此,当它超过三个时,为什么会出现错误。

像这样的东西可能会添加一个新的Excel工作表:

 wb.sheets.Add(); 

厌倦 – 评论格式化完全搞砸 – 我将重新input它作为一个新的答案

是的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