read two excel from different location using readtable

Hello
I am selecting two Excel files from different locations.
Later I want to read the NEW and OLD excel data using Readtable to tNew and tOld variable respectively.
[file,path] = uigetfile('*.xlsx');
if isequal(file,0)
disp('Select NEW Summary Excel');
else
disp(['User selected ', fullfile(path,file)]);
end
[~,name,raw] = fileparts(file);
excelFile = strcat(file);
excelName = fullfile(path,excelFile);
tNew = readtable(excelFile);
[file1,path1] = uigetfile('*.xlsx');
if isequal(file,0)
disp('Select OLD Summary Excel');
else
disp(['User selected ', fullfile(path1,file1)]);
end
[~,name1,raw1] = fileparts(file1);
excelFile1 = strcat(file1);
excelName1 = fullfile(path1,excelFile1);
tOld = readtable(excelFile1);
Facing this error:
Error using readtable (line 223)
Unable to open file 'SummaryNew.xlsx' as a workbook. Check that the file exists, read access is available, and the file is
a valid spreadsheet file.
Thank you

댓글 수: 2

What is the purpose of those strcat() calls?
I notice you do not use the output of the fileparts() calls.
Santosh Biradar
Santosh Biradar 2022년 7월 29일
편집: Santosh Biradar 2022년 7월 29일
Thank you for your response.
I was initially thought to use this
[~,name,raw] = fileparts(file);
excelFile = strcat(name,raw);
But Faced errors.
I am not sure how incorrect it is?
I thought to strcat,as I need to use readtable because,later I am using this table for ismember and writetable.
Thank you

댓글을 달려면 로그인하십시오.

 채택된 답변

Walter Roberson
Walter Roberson 2022년 7월 29일
excelName = fullfile(path,excelFile);
You construct the fully qualified file name
tNew = readtable(excelFile);
but you read from the name without the directory.

댓글 수: 2

[new_file, new_path] = uigetfile('*.xlsx', 'Select NEW summary file');
if ~ischar(new_file)
error('Select NEW Summary Excel');
end
[old_file, old_path] = uigetfile('*.xlsx', 'Select OLD summary file');
if ~ischar(old_file)
error('Select OLD Summary Excel');
end
new_excelname = fullfile(new_path, new_file);
old_excelname = fullfile(old_path, old_file);
tNew = readtable(new_excelname);
tOld = readtable(old_excelname);
I just did in the same way. :-)
Very thankful for pointing towards Unusable strcat() fileparts() .
Thank you so much for your time and responce @Walter Roberson.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Type Conversion에 대해 자세히 알아보기

제품

릴리스

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by