MATLAB Answers

Adding data into existing excel sheet from matlab

76 views (last 30 days)
Rekha
Rekha on 3 May 2013
Commented: vickey vardwaj on 19 Aug 2021
I have an excel sheet 'myvalues.xlsx' cosisting of 200 vectors of 127bits each. Now I want to add another vector to my excel sheet which will be placed as the 201th row without changing the existing data. How can I acheive it. Have tried xlswrite but its not working.
  2 Comments
vickey vardwaj
vickey vardwaj on 19 Aug 2021
how can we add a row at 100th row and the old 100th row shifts to 101th row?

Sign in to comment.

Accepted Answer

Mark Whirdy
Mark Whirdy on 6 May 2013
Edited: Mark Whirdy on 6 May 2013
It seems that variable "mydata" is of size [1x3] but the size of the range you elected is [1x1] (i.e. a single excel cell rather than a range of cells) in
xlCurrRange = xlsheet.Range(['A' num2str(newRange)]);
% ['A' num2str(newRange)] = 'A301' since newRange appears to be the scalar 1 which is added to 300
I think that instead of 'A301' you want to have 'A301:C301' which is
xlsheet.Range(['A', num2str(newRange),':C', num2str(newRange)]);
which should capture the full [1x3] size of "mydata"
Is this it or have I misunderstood?
  1 Comment
Rekha
Rekha on 6 May 2013
Works perfectly !
This is exactly what is needed. Guess I wasn't clear in my problem statements earlier..
Thank you Mark...

Sign in to comment.

More Answers (1)

Mark Whirdy
Mark Whirdy on 3 May 2013
Edited: Mark Whirdy on 3 May 2013
Hi Rekha
Lots of similar questions on the Matlab Answers here if you search.
Here's one of mine on using the activex server to manipulate excel range values from matlab. In general there's no reason to use xlsread or xlswrite
Use commands like:
mydata = rand(100,3);
xlCurrRange = xlActiveSheet.Range('A201:C300');
xlCurrRange.Value2 = mydata;
google "actxserver" - no shortage of other examples on the web
Alternatively, have a look at Alec de Zegher's approach
All the best
Mark
  4 Comments
Adithya Pillai
Adithya Pillai on 25 Jun 2020

Hi Rekha Try using a while loop to update the range after writing each row/column into the excel file

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!