一、xlsread函數(shù)的基本用法
xlsread函數(shù)是MATLAB中用于讀取Excel文件數(shù)據(jù)的常用函數(shù)。通常的用法為:data = xlsread(filename)。其中,filename是要讀取的Excel文件的名稱,可以包含路徑,也可以省略后綴名。該函數(shù)會自動(dòng)讀取Excel文件中的第一個(gè)工作表,并將所有數(shù)據(jù)按照行列的方式存儲在一個(gè)數(shù)組中,返回變量data。該數(shù)組的大小與Excel表格中的大小相同,例如:如果Excel表格為10行12列,則data的大小為10x12。
% 讀取當(dāng)前目錄下的example.xlsx文件,并存儲數(shù)據(jù)到變量data
data = xlsread('example.xlsx');
有時(shí)候我們需要選擇Excel文件中的特定工作表進(jìn)行讀取操作。此時(shí),可以在filename后加上參數(shù)sheet,如下所示:
% 讀取example.xlsx文件中的Sheet2工作表,并存儲數(shù)據(jù)到變量data
data = xlsread('example.xlsx', 'Sheet2');
除了讀取整張表格之外,我們還可以只讀取其中的一部分?jǐn)?shù)據(jù)。可以在xlsread函數(shù)中添加[startRow endRow startCol endCol]參數(shù)。例如,讀取example.xlsx文件中的第1行到第5行、第2列到第4列的數(shù)據(jù),可以寫作:
% 讀取example.xlsx文件中的第1行到第5行、第2列到第4列的數(shù)據(jù),并存儲到變量data
data = xlsread('example.xlsx', 'Sheet1', 'A1:C5');
二、xlsread函數(shù)的參數(shù)的進(jìn)一步解釋
1. sheetnum參數(shù)
在xlsread函數(shù)中,還可以使用參數(shù)sheetnum來指定要讀取的工作表號碼(從1開始),例如:
% 讀取example.xlsx文件中的第2個(gè)工作表,并存儲到變量data
data = xlsread('example.xlsx', 2);
需要注意的是,如果同時(shí)使用了sheetnum和sheet參數(shù),那么xlsread函數(shù)將優(yōu)先使用sheet參數(shù)。
2. range參數(shù)
除了[startRow endRow startCol endCol]參數(shù)以外,還可以使用range參數(shù)來指定要讀取的數(shù)據(jù)范圍。其中,range可以是以下任意一種形式:
單元格范圍:'A1:C5' 命名區(qū)域:'SalesData' 單元格和命名區(qū)域的組合:'B1:E10,SalesData'除此之外,range還可以是一個(gè)以逗號分隔的列表,其中每個(gè)元素都是單元格范圍或命名區(qū)域,例如:
% 讀取example.xlsx文件中的Sheet1中的A1:C5和B10:D14單元格范圍以及SalesData命名區(qū)域,保存到變量data
data = xlsread('example.xlsx', 'Sheet1', 'A1:C5,B10:D14,SalesData');
3. output參數(shù)
在xlsread函數(shù)中,還可以使用output參數(shù)來指定返回的數(shù)據(jù)類型。output可以是以下任意一種形式:
'matrix':返回的數(shù)據(jù)類型為矩陣型 'cell':返回的數(shù)據(jù)類型為單元格類型 'struct':返回的數(shù)據(jù)類型為結(jié)構(gòu)體類型需要注意的是,當(dāng)output指定為'cell'或'struct'時(shí),xlsread函數(shù)返回的數(shù)據(jù)將以單元格或結(jié)構(gòu)體的形式存儲,而不是默認(rèn)的矩陣形式。例如,可以使用以下代碼將讀取到的Excel數(shù)據(jù)以結(jié)構(gòu)體的形式存儲:
% 讀取example.xlsx文件中的Sheet1中的A1:C5和B10:D14單元格范圍和SalesData命名區(qū)域,以結(jié)構(gòu)體的形式存儲到變量data中
data = xlsread('example.xlsx', 'Sheet1', 'A1:C5,B10:D14,SalesData', 'struct');
三、xlsread函數(shù)的錯(cuò)誤處理
在使用xlsread函數(shù)時(shí),有可能會發(fā)生一些錯(cuò)誤。例如,如果文件不存在、文件格式錯(cuò)誤、工作表不存在等等。我們可以通過try-catch語句來處理這些錯(cuò)誤并進(jìn)行相應(yīng)的提示。以下是一個(gè)簡單的try-catch示例:
% 讀取example.xlsx文件中的Sheet2工作表,并存儲數(shù)據(jù)到變量data
try
data = xlsread('example.xlsx', 'Sheet2');
catch
warning('文件讀取失?。?);
data = [];
end
在上面的代碼中,如果文件讀取失敗,將會彈出“文件讀取失敗!”的警告提示,同時(shí)將變量data設(shè)為空值。需要注意的是,當(dāng)使用try-catch語句時(shí),錯(cuò)誤消息盡可能的簡短明了,以便用戶盡快了解錯(cuò)誤的情況。