excel_read
Matlab 读取excel文件的函数:
(1)readtable
- 读取一个工作表。
(2)spreadsheetDatastore
- 读取多个工作表或文件。
一、readtable函数
1、基本使用
T = readtable("文件名",'Sheet','Sheet1','Range','A1')
使用 Sheet
名称-值对组参数指定工作表名称。如果数据位于文件的第一个工作表中,则不需要指定 Sheet
。
clc
SheetName = 'Sheet1';%Sheet的名称
xlRange = 'A1:B2';%读取A1到B2单元格的内容,读取制定的范围
xlRange1 = 'B:B';%读取某一列(B列)
xlRange2 = 'A1:A100';%读取某一列(B列)
%读取指定位置
T = readtable("test.xlsx",'Sheet',SheetName,'Range',xlRange);
%读取某一列
T_select = readtable("text.xlsx",'Sheet',SheetName,'Range',xlRange1);
%不提供Sheet和Range的参数,默认读取第一个Sheet的内容
T_select = readtable("text.xlsx");
2、获取所读取的excel的行数和列数:
使用的readtable函数返回的是一个table的类型数据,其中的数据可能有很多种,不能直接用length函数,应该使用以下三个:(1)height,(2)width,(3)size
- size(T),直接返回table的行数和列数
- height(T),直接返回table的行数,(可以理解为高度)
- width(T),直接返回table的列数
二、spreadsheetDatastore
函数(待定)
三、获取excel文件的Sheet数目和名称
1、方法:sheets_name = sheetnames('D:\Users\zhuyingdi\Desktop\test.xlsx')
2、代码(网络得到)
file_name = 'D:\Users\zhuyingdi\Desktop\test.xlsx';
sheet_name=xl_xlsfinfo(file_name) %调用函数,将返回值赋值给sheet_name
function [Sheets_Names] = xl_xlsfinfo(file_name)
%%********************************************************************************
% Name : xl_xlsfinfo
% Author : Pruthvi Raj G
% Version : Version 1.0 - 2011b Compactible
% Description : Finds all the sheets in the Excel file (.xls,.xlsm,.xlsx)
% Input : File_Name with path included.
% Date : 11-Feb-2020
%
% Examples : xl_xlsfinfo('D:\Pruthvi\Test_file.xls')
%*********************************************************************************
% Open the Excel file (*.xls or *.xlsx).
Excel = actxserver('Excel.Application');
Excel.Workbooks.Open(file_name);
% Finding the Sheets.
workSheets = Excel.sheets;
for i = 1:workSheets.Count
sheet = get(workSheets,'item',i);
Sheets_Names{i} = sheet.Name;
end
Excel.DisplayAlerts = 0;
% Close Excel Sheet
Excel.ActiveWorkbook.Close;
% quit Excel Object
Excel.Quit;
Excel.delete;
end