More efficient way to export output to Excel
4 views (last 30 days)
Show older comments
Hello,
I am currently following this method to export the results to one Excel file:
xlswrite('C:\Users\...\Graph.xlsx',{'A' 'B' 'C' 'D'},'Sheet1','A1');
xlswrite('C:\Users\...\Graph.xlsx',PriceA','Sheet1','A2');
xlswrite('C:\Users\...\Graph.xlsx',PriceB','Sheet1','A2');
.
.
etc
There must be a more efficient way that opens the excel file only once, but I am not able to locate it. It is not really logical to write every time separately to the same file.
Any assistance is appreciated.
Thanks
0 Comments
Accepted Answer
Azzi Abdelmalek
on 30 Aug 2013
Edited: Azzi Abdelmalek
on 30 Aug 2013
EDIT
header={'A' 'B' 'C' };
priceA=[1 2 3]';
priceB=[4 5 6 8 9 1 0 12 15 20]';
priceC=[7 8 9 10]';
max_n=10;
tr=@(price)[num2cell(price) ;repmat({[]},max_n-numel(price),1)]
priceA=tr(priceA)
priceB=tr(priceB)
priceC=tr(priceC)
M=[header;[priceA priceB priceC]]
xlswrite('C:\Users\...\Graph.xlsx',M)
15 Comments
Azzi Abdelmalek
on 30 Aug 2013
Edited: Azzi Abdelmalek
on 30 Aug 2013
Sorry, there is a mistake. write D=trc(D) instead of D=trc(C)
More Answers (1)
Shashank Prasanna
on 30 Aug 2013
Edited: Shashank Prasanna
on 30 Aug 2013
You can use the com interface directly. XLSWRITE does this each time when you call it.
Here is an example:
More about COM Interface:
2 Comments
Shashank Prasanna
on 30 Aug 2013
You said your issue is the following. Quote:
There must be a more efficient way that opens the excel file only once, but I am not able to locate it. It is not really logical to write every time separately to the same file.
What I gave you does exactly that.
Regards,
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!