我希望能够使用MATLAB从工作区中的每个名称导出值。
我有一些问题,然后在工作区中设置变量。我试过了xlswrite
但是我没能成功导出文件。我不认为它只会导出价值,我希望这样做。
% Construct a questdlg with three options
choiceprepq = 'Which animal do you like?';
choiceprep = questdlg('Which animal do you like?', 'Which animal do you like?', 'Dog', 'Cat','Fish');
% Handle response
switch choiceprep
case 'Dog'
disp([choiceprep ' Dog Selected.'])
case 'Cat'
disp([choiceprep ' Cat Selected.'])
case 'Fish'
disp([choiceprep ' Fish Selected.'])
end
alldata= whos('global');
filename='Test.xls';
xlswrite(filename,alldata)
有没有办法将问题和用户从问题框中选择的值导出为Excel文件?不是变量的名称choiceprep
,而是其值。
答案 0 :(得分:0)
首先,除非您确实将choiceprepq
和choiceprep
声明为全局变量,否则使用whos('global')
不会给您这两个。不管怎样,这里没有必要,因为你已经知道了你想要的变量。
此外,您使用questdlg
错误,您需要指定默认答案,因此它应该是这样的:
% syntax : button = questdlg('qstring','title', default)
choiceprepq = 'Which animal do you like?';
choiceprep = questdlg(choiceprepq, choiceprepq, 'Dog', 'Cat', 'Fish', 'Dog');
执行xlswrite
时,实际上只会写入变量所持有的值。在您的情况下,您可以通过以下方式轻松地将问题和答案存储到xls文件中:
filename = 'Test.xls';
xlswrite(filename, {choiceprepq, choiceprep})
花括号将两个变量转换为1x2单元格数组,其值可以通过xlswrite
轻松写入xls文件。
xlswrite
似乎无法在Mac OS上正常运行。这是一个MATLAB文件交换提交,应该提供帮助:http://www.mathworks.com/matlabcentral/fileexchange/38591-xlwrite--generate-xls-x--files-without-excel-on-mac-linux-win