【问题标题】:Export Values from MATLAB workspace to CSV or XLS将值从 MATLAB 工作区导出到 CSV 或 XLS
【发布时间】:2015-09-18 00:10:33
【问题描述】:

我希望能够使用 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,而是它的值。

这种情况下的一个例子是:

【问题讨论】:

    标签: excel matlab csv export


    【解决方案1】:

    首先,除非您实际上将choiceprepqchoiceprep 声明为全局变量,否则使用whos('global') 不会给您这两个。反正这里没有必要,因为你已经知道你想要的变量。

    另外,你使用的是questdlgwrong,你需要指定你的默认答案,所以应该是这样的:

    % 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

    【讨论】:

    • 我给了你的建议,它奏效了,但每个字母都在一个单元格中。而不是显示的示例屏幕截图。有什么可能的解决方法吗?
    • 您的意思是生成的 xls 文件中的每个单元格只包含一个字符吗?如果您输入{choiceprepq, choiceprep},您会在 MATLAB 命令窗口中看到什么?
    • 是的,这正是发生的事情!我输入了你问的内容,这是回复:它给出了变量,然后给出了值。所以choiceprepq = 提出的问题,choiceprep 是用户选择的答案。我再次检查了 XLS 文件,但每个单元格仍然有一个字符。从左到右,使用 A、B、C 等和列号 1。
    • 我要问的只是在 MATLAB 命令窗口中输入 {choiceprepq, choiceprep},看看它会给你什么答案。它会给你 1x2 单元阵列吗?
    • 给出答案:1*2 单元格
    猜你喜欢
    • 2014-12-03
    • 2015-01-30
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    相关资源
    最近更新 更多