i have a problem to write to a excel

2 views (last 30 days)
hi, i need to write user_id and date in a seperate excel sheet .I want to write it to a new line in my excel document ' instead of overwriting previous lines in my excel document Book11.I just want it to jump a line. Note( I don't know what line I want it to write to, I just want the code to find the previous line in the excel doc and them simply write to the next one). i have a problem with xlswrite in line 8. Please do help i have enclosed the code and the excel sheet.
d = {'usre_id' , date};
[~, user_id] = xlsread('C:\Users\AFQ1KOR\Desktop\newfolder\kkr.xlsx','A:A');
access = ismember('afq1kor' , user_id );
if access == 1
[~, record] = xlsread('C:\Users\AFQ1KOR\Desktop\newfolder\khan2.xlsx','A:A');
q = length(record);
r = q + 1;
xlswrite('C:\Users\AFQ1KOR\Desktop\newfolder\Book11.xlsx',d,'Ar:Br');
end

Accepted Answer

Jan
Jan on 21 Mar 2019
You got it almost:
q = size(record, 1); % Safer than LENGTH
r = q + 1;
xlswrite('C:\Users\AFQ1KOR\Desktop\newfolder\Book11.xlsx', d, ...
sprintf('A%d:B%d', r, r);
'Ar:Br' does not insert the contents of the variable r in the char vector. Use sprintf to insert the number to the char vector.

More Answers (1)

Alex Mcaulley
Alex Mcaulley on 21 Mar 2019
Try this:
d = {'usre_id' , date};
[~, user_id] = xlsread('C:\Users\AFQ1KOR\Desktop\newfolder\kkr.xlsx','A:A');
access = ismember('afq1kor' , user_id );
if access == 1
[~, record] = xlsread('C:\Users\AFQ1KOR\Desktop\newfolder\Book11.xlsx','A:A');
if size(d,2)>size(record,2)
record(:,size(record,2)+1:size(d,2)) = deal({[]});
else
d(:,size(d,2)+1:size(record,2)) = deal({[]});
end
xlswrite('C:\Users\AFQ1KOR\Desktop\newfolder\Book11.xlsx',[record;d]);
end
  1 Comment
Sajid Afaque
Sajid Afaque on 25 Mar 2019
thanks alex its working but with slight modification as per my requirements.

Sign in to comment.

Products


Release

R2013b

Community Treasure Hunt

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

Start Hunting!