MATLAB: How to determine last row and pointed out in a xlsread

cell arraysdata importexcelimporttext;xlsread

My code is below:
[num, txt] = xlsread('S:/PLOT/PLOT.xlsx', 'D1:XFD1');
XFD1 is the last row in excel and it takes time!
Instead of writing XFD in this code, I'd like to write the name of the cell up to n lines from D1.
*
Example: Let n = 3.
D E F G
The code should scan from D1 to G1.

Best Answer

You may use this FEX submission for the task.
For n = 3:
starting_letter = 'D';
offset = xlscol(starting_letter);
n = 3+offset;
final_letter = xlscol(n);
range = strcat(starting_letter,num2str(1),':',final_letter,num2str(1));
Range:
'D1:G1'
For n= 16380
starting_letter = 'D';
offset = xlscol(starting_letter);
n = 16380+offset;
final_letter = xlscol(n);
range = strcat(starting_letter,num2str(1),':',final_letter,num2str(1));
Range:
'D1:XFD1'
In general, to find n, call the function with the name of the cell:
xlscol('XFD')
and subtract four to account for the offset.