使用导入工具读取电子表格数据
此示例说明如何使用导入工具将数据从电子表格导入工作区中,以及如何从剪贴板中导入数据。
以交互方式选择数据
在主页选项卡上的变量部分中,点击导入数据 。或者,在文件面板中,双击扩展名为 .xls、.xlsx、.xlsb 或 .xlsm 的文件的名称。此时将打开导入工具。
选择要导入的数据。例如,导入对应于三个表变量的数据。您可以编辑变量名称,并且可以为同一变量选择不连续的数据部分。

在导入选项卡的导入的变量部分中,选择需要的数据导入方式。您选择的选项决定了所导入数据的数据类型。
| 选择的选项 | 导入数据的方式 |
|---|---|
| 列向量 | 将所选数据的每一列导入为单个 m×1 向量。 |
| 数值矩阵 | 将所选数据导入为 m×n 数值数组。 |
| 字符串数组 | 将所选数据导入为 m×n 字符串数组。 |
| 元胞数组 | 将所选数据导入为可包含多种数据类型的元胞数组,例如数值数据和文本。 |
| 表 | 将所选数据导入为表。 |
如果选择将数据导入为矩阵或数值列向量,工具将突出显示工作表中的所有非数值数据。每个突出显示颜色对应于一个使数据适合数值数组的建议规则。例如,您可以用 NaN 替换非数值的值。此外,将鼠标置于单个单元格上时,可以看到数据的导入方式。

您可以添加、删除、重新排序或编辑规则,例如将替换值从 NaN 更改为其他值。所有规则仅应用于导入的数据,不会更改文件中的数据。只要范围包括非数值数据并且将导入到矩阵或数值列向量,就需要指定规则。
包含 #Error? 的所有单元格都对应于电子表格文件中的公式错误,例如除以零。导入工具将这些单元格视为非数值。
当点击导入所选内容 按钮时,导入工具将会在工作区中创建变量。
从多个电子表格导入数据
如果计划对多个文件执行相同的导入操作,则可以从导入工具生成代码,以便更轻松地重复操作。在所有平台上,导入工具都可以生成一个程序脚本,您可以编辑和运行该脚本以导入文件。在安装有 Excel® 软件的 Microsoft® Windows® 系统上,导入工具可以生成一个可为每个文件调用的函数。
例如,假设在当前文件夹中有一组名为 myfile01.xlsx 到 myfile25.xlsx 的电子表格,并且要从每个文件中的第一个工作表导入相同范围的数据 A2:G100。
要生成代码以导入整个文件集,请在导入工具中打开其中一个文件。然后,点击导入所选内容 > 生成函数。导入工具生成类似如下脚本的代码,并在编辑器中打开代码。
function data = importfile(workbookFile,sheetName,dataLines) %IMPORTFILE Import data from a spreadsheet ...
保存函数。然后,在单独的程序文件或命令行中,创建一个 for 循环,以将每个电子表格文件中的数据导入到名为 myData 的元胞数组中。
numFiles = 25;
myData = cell(1,numFiles);
for fileNum = 1:numFiles
fileName = sprintf('myfile%02d.xlsx',fileNum);
myData{fileNum} = importfile(fileName);
endmyData 中的每个元胞包含来自对应工作表的数据数组。例如,myData{1} 包含来自第一个文件 myfile01.xlsx 的数据。
另请参阅
导入工具 | readmatrix | readcell | readvars | readtable | detectImportOptions