昨日的风 发表于 2009-12-25 09:42:33

gui导出数据到excel表格保存文件名出错?

本帖最后由 ljelly 于 2009-12-25 15:50 编辑

编写一个简单的gui,把结果导入到excel中,如下图所示:
点击计算结果输出到excel中,出来保存对话框,如上所示。一般输入文件名保存名没有错误,但如果输入的文件名中有。号,则后面的文字不被识别,例如:如果输入SF40计算结果(0.2)保存的文件名变成了SF40计算结果(0.xls,请高手帮帮忙,代码如下所示:
= uiputfile('*.xls', '保存计算结果');
if filename==0 % 取消
    return;
end
oldpath=cd;
cd(pathname);
=fileparts(filename);
xlswrite(filename,hhhh,'sheet1','A2');
xlswrite(filename,table112,'sheet1','A1');
xlswrite(filename,ssss,'sheet1','A2');
cd(oldpath);
xlswrite是写入数据到excel中,应该和问题无关,所以不做说明,高手指教一二,谢谢!

zccbest 发表于 2009-12-25 09:52:24


=uiputfile({'*.xls','Excel表格(*.xls)'},'保存计算结果');
   filepath=strcat(pathname,filename);
   [~, ~, ext, ~] = fileparts(filepath);
   if ~isempty(filepath)
       if ~strcmp(ext,'.xls')
         filepath=;
       end
..................
end

昨日的风 发表于 2009-12-25 10:10:01

请问一下,我上面的程序存在什么问题吗?

昨日的风 发表于 2009-12-25 10:28:21

本帖最后由 昨日的风 于 2009-12-25 10:29 编辑

2# zccbest
使用上述代码会出现如下错误:
Expression or statement is incorrect--possibly unbalanced (, {, or [.
此句[~, ~, ext, ~] = fileparts(filepath);中的~好像有问题

zccbest 发表于 2009-12-25 10:29:49

这是matlab 本身存在的一个问题,默认把.(点)后面的认为是扩展名

昨日的风 发表于 2009-12-25 11:04:07

这是matlab 本身存在的一个问题,默认把.(点)后面的认为是扩展名
zccbest 发表于 2009-12-25 10:29 http://forum.simwe.com/images/common/back.gif
没有办法解决吗?

hesir 发表于 2010-8-13 18:31:34

'~'符号好像是在比较新的版本中才识别的

4# 昨日的风
页: [1]
查看完整版本: gui导出数据到excel表格保存文件名出错?