How to write a char variable as filename in xlswrite

2 views (last 30 days)
I am attempting to use an input statement in a loop to prompt me to input the "Patient, Session, Trial" as a char, where it will then use that string to name the .xlsx file. For example, the PST input would be 'P1S1T1', so I want the output of the xlswrite to be 'P1S1T1.xlsx'. Is this possible within xlswrite? Or is there a better way to do this?
This is what I have been tinkering with, I am just unsure how to use the PST variable.
Thanks a bunch
PST = input('Patient, Session, EMG#: ','s'); %saves variable 'PST' as char
xlswrite([PST],'.xlsx',data,1,'A1')

Accepted Answer

Greg
Greg on 21 Jun 2018
xlswrite([PST],'.xlsx',data,1,'A1')
Passes '.xlsx' as the second input argument to xlswrite. You want to concatenate it with PST instead:
xlswrite([PST,'.xlsx'],data,1,'A1');
  2 Comments
Greg
Greg on 21 Jun 2018
Further, you probably want some input validation before calling xlswrite. What if the user types invalid filename characters or nothing at all?
Eric Jenkins
Eric Jenkins on 21 Jun 2018
I was close! Just a bracket in the wrong spot, thank you very much. I'll also keep the validation step in mind for executing the code.
Thanks again!

Sign in to comment.

More Answers (0)

Categories

Find more on Environment and Settings 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!