在 MATLAB 中使用 sheet 的索引调用和提取 excel sheet 的名称
Call and extract name of an excel sheet using the index of sheet in MATLAB
我们可以通过 xlsread
函数使用其名称或索引调用 sheet,如下所示:
for i=1:100
file = xlsread(`filename.xlsx`,i)
%% I want get name of the called sheet here (storing in cell array)
end
在这个循环中,如果要调用并提取指定的 sheet 名称(使用 sheet 的索引),正如我们在上面循环的注释行中看到的那样,并将名称存储在元胞数组中.我如何在 MATLAB R2015a 中执行此操作?
请参阅 xlsfinfo
,它有一个可选的 sheets
输出,即 returns sheet 名称的元胞数组。例如:
xlswrite('test.xlsx', 1:3, 'hi');
xlswrite('test.xlsx', 1:3, 'hello');
xlswrite('test.xlsx', 1:3, 'hey');
[~, sheets] = xlsfinfo('text.xlsx');
Returns:
sheets =
'Sheet1' 'hi' 'hello' 'hey'
请注意,Sheet1
仅存在,因为我生成了一个空白点差sheet。如果在 xlswrite
调用中指定的 sheet 名称在目标 sheet 中不存在,它将被添加到工作簿的末尾。
编辑: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
我们可以通过 xlsread
函数使用其名称或索引调用 sheet,如下所示:
for i=1:100
file = xlsread(`filename.xlsx`,i)
%% I want get name of the called sheet here (storing in cell array)
end
在这个循环中,如果要调用并提取指定的 sheet 名称(使用 sheet 的索引),正如我们在上面循环的注释行中看到的那样,并将名称存储在元胞数组中.我如何在 MATLAB R2015a 中执行此操作?
请参阅 xlsfinfo
,它有一个可选的 sheets
输出,即 returns sheet 名称的元胞数组。例如:
xlswrite('test.xlsx', 1:3, 'hi');
xlswrite('test.xlsx', 1:3, 'hello');
xlswrite('test.xlsx', 1:3, 'hey');
[~, sheets] = xlsfinfo('text.xlsx');
Returns:
sheets =
'Sheet1' 'hi' 'hello' 'hey'
请注意,Sheet1
仅存在,因为我生成了一个空白点差sheet。如果在 xlswrite
调用中指定的 sheet 名称在目标 sheet 中不存在,它将被添加到工作簿的末尾。
编辑: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