2013-08-09 4 views
2

Я пытаюсь прочитать некоторые данные, хранящиеся в файле .xlsx, в MATLAB. Однако использование xlsread возвращает пустой набор данных.Почему xlsread возвращается пустым?

data = xlsread('myFile.xlsx'); 

Название листа является стандартным «Листом1», поэтому я знаю, что он не ищет неправильный лист.

Я даже проверил, чтобы убедиться, что файл существует, и пошел так далеко, чтобы использовать uigetfile для обеспечения имена путей и строки являются правильными:

[fileName,dirName]=uigetfile('.xlsx'); 
data = xlsread(fullfile(dirName,fileName)); 

Что я делаю неправильно?

ответ

4

xlsread только возвращает числовые данные, если указан только один выход. Если файл .xlsx содержит только текстовые данные, он будет пустым. Чтобы исправить эту ситуацию, указать выходы:

[fileName,dirName]=uigetfile('.xlsx'); 
[~,~,rawData] = xlsread(fullfile(dirName,fileName)); 

будет возвращать все содержимое листа без разбора MATLAB результатов и решить, что текст и то, что числовые данные.

+2

вас так же заинтересует следующее: http://undocumentedmatlab.com/blog/xlsread-functionality-change-in-r2012a/ – Amro

+0

@Amro: Хороший совет. Я думал, что отправлю это Q & A для всех, кто испытывает тот же самый перерыв в мозге, который стоил мне 15 минут очень расстроенного устранения неполадок. – Doresoom

Смежные вопросы