How can I use xlswrite in a for loop without overwriting?
3 views (last 30 days)
Show older comments
I'm trying to generate 31 excel files with a for loop:
days=31;
for i = 1:1:days
dataday = frequency(1,((i-1)*(size(frequency,2)/days)+1):(size(frequency,2)/days)*i);
xlswrite('frequency.xlsx',dataday');
end
Why I can not obtain 31 Excel files? Thanks in Advance!
6 Comments
Ameer Hamza
on 28 May 2018
Edited: Ameer Hamza
on 28 May 2018
@Paolo consider adding your comment as an answer and @Marina please accept it, as it will help in marking this question as solved.
Paolo
on 28 May 2018
@Marina You are welcome, happy to help. I wrote an answer for the question. As @Ameer pointed out, selecting the answer as accepted will mark the question as solved and will help other users in the future.
Accepted Answer
Paolo
on 28 May 2018
If you wish to create a new Excel file for every iteration of the loop, you can use:
xlswrite(strcat('frequency',num2str(i)),dataday');
The term 'frequency' is concatenated with the iteration number.
The data for every iteration will be written to the first sheet of every file. The files will be saved in the current directory and will be named:
'frequency1.xls','frequency2.xls' ... 'frequency31.xls'
0 Comments
More Answers (2)
Roozbeh Yousefnejad
on 28 May 2018
I believe you can add "i" to xlswrite('frequency.xlsx',dataday') like xlswrite('frequency.xlsx',dataday',i) to change the excel sheet everytime, so at the end you will end up with one excel file and in each sheet you have your data
1 Comment
Prinson Chandy
on 20 Aug 2018
Question: what we have to do when we need to crate notepad file instead of excel file
2 Comments
Paolo
on 20 Aug 2018
Do you mean a text file? You can apply the same logic but obviously can't use xlswrite as you are not working with an Excel spreadsheet. What's the format of your data?
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!