The best way to represent spreadsheet data in MATLAB® is in a table, which can store a mix of numeric and text data. However, sometimes you need to import spreadsheet data as a matrix, a cell array, or separate variables. Based on your data and the data type you need in the MATLAB® workspace, use one of these functions:
Import numeric data from basic_matrix.xls into a matrix.
M = readmatrix('basic_matrix.xls')
M = 5×4 6 8 3 1 5 4 7 3 1 6 7 10 4 2 8 2 2 7 5 9
You can also select the data to import from the spreadsheet by specifying the Sheet and Range parameters. For example, specify the Sheet parameter as 'Sheet1' and the Range parameter as 'B1:D3' . The readmatrix function reads a 3 -by- 3 subset of the data, starting at the element in the first row and second column of the sheet named 'Sheet1' .
M = readmatrix('basic_matrix.xls','Sheet','Sheet1','Range','B1:D3')
M = 3×3 8 3 1 4 7 3 6 7 10
Import the mixed tabular data from airlinesmall_subset.xlsx into a cell array.
C = readcell('airlinesmall_subset.xlsx'); whos C
Name Size Bytes Class Attributes C 1339x29 4277290 cell
You can also select the data to import from the spreadsheet by specifying the Sheet and Range parameters. For example, specify the Sheet parameter as '2007' and the Range parameter as 'G2:I11' . The readcell function imports ten rows of data for variables in columns 7 , 8 , and 9 , from the worksheet named '2007' .
subC = readcell('airlinesmall_subset.xlsx','Sheet','2007','Range','G2:I11')subC=10×3 cell array <[ 935]> <[ 935]> <[ 940]> <[ 950]>
Import the first three columns from airlinesmall_subset.xlsx as separate workspace variables.
[Year,Month,DayOfMonth] = readvars('airlinesmall_subset.xlsx'); whos Year Month DayOfMonth
Name Size Bytes Class Attributes DayOfMonth 1338x1 10704 double Month 1338x1 10704 double Year 1338x1 10704 double
You can also select which subset to import from the spreadsheet by specifying the Sheet and Range parameters. For example, import ten rows of the column DayOfMonth from the worksheet named '2004' . Specify the column and number of rows using the Range parameter.
DayOfMonth = readvars('airlinesmall_subset.xlsx','Sheet','2004','Range','C2:C11')
DayOfMonth = 10×1 26 10 21 24 20 20 1 2 30 11