使用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