calculation in csv through matlab
2 views (last 30 days)
Show older comments
we know like xcell operations can be performed in csv like multipling 2 rows etc
eg) when we append data to csv from a matrix , we get a row of data
suppose i want that data*2 but not perform that calculation in matlab and do it in csv (=A1*2 %this type)
and then read the next coloumn (B) to get the result
how do i proceed?
thaks for any help you can provide
4 Comments
Cris LaPierre
on 22 Mar 2021
Sure you can add them. You just can't save the equations in a csv file. If you save as a csv file, the equations are replaced with values. Close and reopen the csv file, and you'll see that the updated values are still there, but all the equations are gone.
Answers (1)
Cris LaPierre
on 22 Mar 2021
Edited: Cris LaPierre
on 22 Mar 2021
You may find the following two posts helpful.
- https://www.mathworks.com/matlabcentral/answers/47838-how-to-apply-a-formula-autofill-on-a-range-of-cells-in-excel-using-matlab-com-activex#answer_58688
- https://www.mathworks.com/matlabcentral/answers/761711-readtable-excel-date-base#comment_1366841
The resulting code would be something like this.
file = 'D:\Applications\work\example.csv'; % This must be full path name
% Create connection to Excel
excelapp = actxserver('Excel.Application');
wkbk = excelapp.Workbooks.Open(file);
% Write equation to specified cell:
EqnRange = wkbk.Activesheet.get('Range','B1');
EqnRange.Formula = '=A1*2';
% Save changes. This leaves the value in the csv file, not the equation
invoke(wkbk,'Save');
% Close Excel and clean up
invoke(excelapp,'Quit');
delete(excelapp);
clear excelapp;
0 Comments
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!