MATLAB Answers

0

i have a problem to write to a excel

Asked by Sajid Afaque on 21 Mar 2019
Latest activity Commented on by Sajid Afaque on 25 Mar 2019
Accepted Answer by Jan
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

  0 Comments

Sign in to comment.

Products


Release

R2013b

2 Answers

Answer by Jan
on 21 Mar 2019
 Accepted Answer

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.

  1 Comment

Sign in to comment.


Answer by 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

thanks alex its working but with slight modification as per my requirements.

Sign in to comment.