Main Content

xlsfinfo

(不推荐)确定文件是否包含 Microsoft Excel 电子表格

不推荐使用 xlsfinfo。请改用 sheetnames。有关详细信息,请参阅兼容性注意事项

说明

status = xlsfinfo(filename) 指示 filename 是否为 xlsread 函数可读取的文件。

[status,sheets] = xlsfinfo(filename) 还返回文件中每个电子表格的名称。

示例

[status,sheets,xlFormat] = xlsfinfo(filename) 还返回 Excel® 返回的有关文件格式的说明。在未安装 Windows® 版 Excel 的系统上,xlFormat 是一个空字符向量 ''

示例

全部折叠

创建一个名为 myExample.xlsx 的示例 Excel® 文件。

values = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
headers = {'First', 'Second', 'Third'};
xlswrite('myExample.xlsx', [headers; values]);

调用 xlsfinfo 可获取文件相关信息。

[status,sheets,xlFormat] = xlsfinfo('myExample.xlsx')
status =

Microsoft Excel Spreadsheet


sheets = 

    'Sheet1'    'Sheet2'    'Sheet3'


xlFormat =

xlOpenXMLWorkbook

status 包含描述性文本,指示 xlsread 函数可以读取示例文件。

输入参数

全部折叠

文件的名称,指定为字符向量或字符串。

示例: 'myFile.xlsx'

数据类型: char | string

输出参数

全部折叠

文件类型,以字符向量形式返回。

  • 如果 filenamexlsread 可读取的文件,则 status 为描述性文本,例如 'Microsoft Excel Spreadsheet'

  • 如果 filename 不是 xlsread 可读取的文件,则 status 为空,即 ''

  • 如果 MATLAB® 找不到文件,则 xlsfinfo 返回错误。

工作表名称,以 1×n 字符向量元胞数组形式返回,其中 n 是文件中的工作表数量。每个元胞包含工作表的名称。如果 xlsread 无法读取特定的工作表,对应的元胞包含错误消息。

如果 xlsfinfo 找不到文件,则 sheets 包含错误消息。

Excel 返回的文件格式说明,以字符向量形式返回。

在装有 Excel 软件的 Windows 系统上,xlFormat 为以下选项之一。

'xlOpenXMLWorkbook'XLSX 格式的电子表格(Excel 2007 或更高版本)
'xlWorkbookNormal''xlExcel8'XLS 格式的电子表格(与 Excel 97-2003 兼容)
'xlCSV'逗号分隔值 (CSV) 格式的文件
'xlHtml''xlWebArchive'导出为 HTML 格式的电子表格

在所有其他系统上,xlFormat 为一个空字符向量 ''

局限性

  • xlsfinfo 仅支持 7 位 ASCII 字符。

提示

  • 如果 xlsfinfo 警告无法启动 ActiveX® 服务器,则在 Excel 典型安装过程中安装的 COM 服务器将不可用。在这种情况下,请考虑重新安装 Excel 软件。在装有 Excel(适用于 Windows)的系统上,xlsfinfo 使用 COM 服务器获取信息。

版本历史记录

在 R2006a 之前推出

全部折叠

R2019b: 不推荐使用 xlsfinfo

不推荐使用 xlsfinfo。请改用 sheetnames。目前没有删除 xlsfinfo 的计划。

从 R2019b 开始,可使用 sheetnames 函数从电子表格文件中获取工作表的名称。与 xlsfinfo 函数相比,sheetnames 函数具有以下优势:

  • 支持包含非 ASCII 字符的工作表名称

  • 更好的跨平台支持和性能

  • 能够处理远程存储的数据

下表显示了 xlsfinfo 的典型用法,以及如何更新代码以使用 sheetnames

不推荐

推荐

[~,sheets] = xlsfinfo('myData.xls')
sheets = sheetnames('myData.xls')