Чтение данных из Excel в таблицу в MATLAB App Designer

Добрый вечер. Я пытаюсь разработать графический интерфейс MATLAB, в котором пользователь может либо вручную вводить данные в таблицу, либо прикреплять папку Excel, которая будет копировать данные на листе Excel в таблице. Мои строки кода

function AttachExcelFolderButtonPushed(app, event)
            [filename pathname]=uigetfile({'*.xlsx'},'File Selector');
            text = readtable(filename, "Sheet",1);
            app.UITable.Data = text;
        end

Я получаю следующую ошибку:

Ошибка при использовании таблицы для чтения (строка 223). Невозможно открыть файл «Book1.xlsx» в качестве книги. Убедитесь, что файл существует, доступен доступ для чтения и что файл является допустимым файлом электронной таблицы.

Пожалуйста, помогите Примечание: я новичок Спасибо


person ProgrammingGuy    schedule 08.05.2020    source источник
comment
В вашем коде есть переменная fullpathname, которая никогда не используется.   -  person Daniel    schedule 08.05.2020
comment
Я не думаю, что это вызовет ошибку, но спасибо за ответ, я удалю строку   -  person ProgrammingGuy    schedule 08.05.2020


Ответы (1)


Я предполагаю, что у вас нет файла, который вы хотите на пути. Попробуйте эту строку:

text = readtable([pathnaem filename], "Sheet",1);

Это будет использовать весь путь к файлу, чтобы найти его. В противном случае MATLAB будет искать только те файлы, которые в данный момент находятся на пути.

person ericstevens26101    schedule 08.05.2020
comment
Большое спасибо за ответ Все сработало! но он не показывает первую строку, и окно приложения исчезает, и когда я снова открываю его с панели рабочего стола, он показывает значения, начиная со второй строки - person ProgrammingGuy; 08.05.2020
comment
Это связано с другими атрибутами в readtable. измените строку на text = readtable([pathnaem filename], "Sheet",1, ReadVariableNames',false), чтобы получить первую строку. Я понятия не имею, что вы имеете в виду под другой проблемой. - person ericstevens26101; 08.05.2020
comment
Оно работает. большое спасибо - я хотел бы ответить небольшим видео - когда я нажимаю прикрепить файл excel, затем захожу в папку с документами, выбираю лист 1 и дважды щелкаю левой кнопкой мыши по файлу, экран закрывается, и мне нужно снова открыть это из нижней панели в Windows 10, где отображается таблица и работает приложение. - person ProgrammingGuy; 08.05.2020
comment
Звучит странно. Может быть ошибка. Единственное, что я могу придумать, это: waitfor([filename pathname]=uigetfile({'*.xlsx'},'File Selector')); - person ericstevens26101; 08.05.2020
comment
Программа сообщает мне: Ошибка при использовании app1 Ошибка: Файл: app1.mlapp Строка: 21 Столбец: 40 Неправильное использование оператора '='. Чтобы присвоить значение переменной, используйте '='. Чтобы сравнить значения на равенство, используйте '=='. - person ProgrammingGuy; 08.05.2020
comment
Я исправил это, поставив == вместо =, но ничего не происходит, когда я нажимаю кнопку прикрепить файл excel - person ProgrammingGuy; 08.05.2020
comment
нет, это не сработает, забудьте waitfor. Происходит что-то странное. Я даже не уверен, что понимаю, в чем проблема. - person ericstevens26101; 09.05.2020
comment
НВМ Спасибо большое - person ProgrammingGuy; 09.05.2020