Selecting Specific Tab in spreadsheet
36 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
CHRIS HARRISON
el 5 de Mzo. de 2021
Respondida: Shiva Kalyan Diwakaruni
el 8 de Mzo. de 2021
Hi (I am fairly new to MATLAB so apologies for any ignorance in the below):
I am trying to import a datasheet with multiple tabs which is outputted as a results file by a separate piece of software. The number of tabs is likely to be different each time I import this. I am interested in only a few 'types' of the tabs in this spreadsheet and these always end in "_Main" (the tabs not of interest do not end in "_Main". Ultimatey I want a script that can import these spreadsheets, identify the tabs of interest and then add a couple of columns (multiply a couple of the other existing columns), with which I am hoping to create some graphs from.
So far I have been able to bring in the data using the following:
mydata = importdata('Test1.xlsx');
When I open the data in the workspace, the data has several subheadings (data, textdata, colheaders). Within the 'data' section of this, I can see the various tabs from my spreadsheet (some with "_Main" in the title and some without). Then I have identified the tabs of interest and output them in a separate array called "g". I have done this via the following:
for i=1:numel(fnames)
if contains(fnames(i), "Main")
bingo(i) = 1 ;
else bingo(i) = 0 ;
end
end
Target=find(bingo) ;
for counter2=1:numel(Target)
TempValue1 = Target(1,counter2)
g(TempValue1,1)= fnames(TempValue1,1)
end
However, my problem is now that I am not sure how I can call up those identified tabs. I can call this up from the command window as:
mydata.data.EXAMPLE_Main
But is there a way I can codify this? e.g can I call up mydata.data.<the 2nd tab> ?
Thanks,
Chris
0 comentarios
Respuestas (1)
Shiva Kalyan Diwakaruni
el 8 de Mzo. de 2021
Hi,
You can try using sheetnames or xlsfinfo function instead of importdata for reading data out of different tabs.
Template code to read multiple sheets with xlsfinfo would be something like below
[~,SheetNames] = xlsfinfo(filename);
nSheets = length(SheetNames);
for ii=1:nSheets
Name=SheetNames{ii};
sheetData=xlsread(filename,Name);
end
You can refer to the below links for documentation about xlsfinfo and sheetnames
you can also refer the below link for reference
hope it helps,
Thanks.
0 comentarios
Ver también
Categorías
Más información sobre Spreadsheets en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!