Adding data into existing excel sheet from matlab
Mostrar comentarios más antiguos
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 comentarios
syahdan edy murad
el 6 de Jul. de 2018
i have the same problem here, could you include your code ? like saving the excel file, and adding it after you execute the file again.
vickey vardwaj
el 19 de Ag. de 2021
how can we add a row at 100th row and the old 100th row shifts to 101th row?
Respuesta aceptada
Más respuestas (1)
Mark Whirdy
el 3 de Mayo de 2013
Editada: Mark Whirdy
el 3 de Mayo de 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 comentarios
Rekha
el 3 de Mayo de 2013
Mark Whirdy
el 4 de Mayo de 2013
Editada: Mark Whirdy
el 4 de Mayo de 2013
Hi Rekha
From my understanding of your original question, the crux of the issue is that you want to add write a vector to an excel-sheet beginning at row 201. If the crux of the problem is more the "vector-comparison" algorithm, then I need a lot more detail than the above. But it seems you have a handle on this already.
If the problem is in fact writing to excel (regardless of the content of "sparseVector"), it is easier at my end to ignore the context-specific details and just talk about writing to excel. Could you try the below code [which writes a matrix to Range('A201:C300')] & tell me which part does not work or any part you have a question about?
try
xlApp = actxGetRunningServer('Excel.Application'); % capture existing excel application
catch ME %#ok
xlApp = actxserver('Excel.Application'); % instantiate new excel application
end
xlApp.Visible = 1;
xlWorkbook = xlApp.ActiveWorkbook;
xlActiveSheet = xlWorkbook.ActiveSheet;
xlCurrRange = xlActiveSheet.Range('A201:C300'); %
mydata = randn(100,3);
xlCurrRange.Value2 = mydata;
Rekha
el 5 de Mayo de 2013
Adithya Pillai
el 25 de Jun. de 2020
Hi Rekha Try using a while loop to update the range after writing each row/column into the excel file
Categorías
Más información sobre Spreadsheets en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!