MATLAB Answers

How to write a char variable as filename in xlswrite

25 views (last 30 days)
Eric Jenkins
Eric Jenkins on 21 Jun 2018
Commented: Eric Jenkins on 21 Jun 2018
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')

  0 Comments

Sign in to comment.

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)

Sign in to answer this question.