使用MATLAB中的表格索引调用并提取excel表格的名称

我们可以通过xlsread函数使用它的名称或索引来xlsread工作表,如下所示:

  for i=1:100 file = xlsread(`filename.xlsx`,i) %% I want get name of the called sheet here (storing in cell array) end 

在这个循环中,如果要调用并提取指定的表名(使用表的索引),我们可以在上面的循环的注释行中看到,并将名称存储在单元格数组中。 我怎样才能做到这一点在MATLAB R2015a?

请参阅xlsfinfo ,其中有一个可选的工作sheets输出,用于返回工作表名称的单元格数组。 例如:

 xlswrite('test.xlsx', 1:3, 'hi'); xlswrite('test.xlsx', 1:3, 'hello'); xlswrite('test.xlsx', 1:3, 'hey'); [~, sheets] = xlsfinfo('text.xlsx'); 

返回:

 sheets = 'Sheet1' 'hi' 'hello' 'hey' 

请注意Sheet1只存在,因为我生成一个空白的电子表格。 如果在xlswrite调用中指定的工作表名称不在目标工作表中,则将其添加到工作簿的末尾。

编辑:ActiveX实现:

 eAX = actxserver('Excel.Application'); mywb = eAX.Workbooks.Open('C:\test.xlsx'); mysheets = eAX.sheets; numsheets = mysheets.Count; sheets = cell(1, numsheets); for ii = 1:numsheets sheets{ii} = eAX.Worksheets.Item(ii).Name; end mywb.Close(false) eAX.Quit