xlsGetSheetSize#
Purpose#
Gets the size (rows and columns) of a specified sheet in an Excel® spreadsheet.
Format#
- { r, c } = xlsGetSheetSize(file[, sheet])#
- Parameters:
file (string) – name of
.xls
or.xlsx
file.sheet (scalar) – Optional input, sheet index (1-based). Default = 1.
- Returns:
r (scalar) – number of rows.
c (scalar) – number of columns.
Portability#
Windows, Linux and macOS
Examples#
Example 1: Pass in sheet number#
Find the number of rows and columns in the first sheet of the example file, yarn.xlsx
with the following code:
// File name with full path
fname = getGAUSShome() $+ "examples/yarn.xlsx";
sheet = 1;
// Pass in optional sheet number
{ r, c } = xlsGetSheetSize(fname, sheet);
After the above code:
r = 28
c = 4
The call to xlsGetSheetSize()
could also be made without passing in the sheet number:
Example 2: Use default sheet index#
// File name with full path
fname = getGAUSShome() $+ "examples/yarn.xlsx";
// Leave out optional sheet number
{ r, c } = xlsGetSheetSize(fname);
Since the default sheet index is 1, this code will assign r and c to the same values as the previous example.
Example 3: Use trap for custom error handling#
If you do not want your program to terminate in the case of an error in this function, you can set the trap state as in the example below.
sheet = 1;
// Retain the old trap value so it can
// be reset to its previous state
oldtrap = trapchk(1);
// Set trap
trap 1;
{ r, c } = xlsGetSheetSize(fname, sheet);
// Check to see if return value is an error code
if scalmiss(r);
// User error handling code here
print "xlsGetSheetSize failed";
endif;
Remarks#
If xlsGetSheetSize()
fails, it will either terminate and print an error
message or return a scalar error code, which can be decoded with
scalerr, depending on the state of the trap flag.
|
Print error message and terminate program. |
|
Return a scalar error code which can be checked
for with |
If a scalar error code is returned, both return values will be set with the error code.
See also
Functions xlsGetSheetCount()
, xlsGetSheetTypes()
, xlsMakeRange()