MATLAB GUI 文件另存为问题

我想要实现的效果是,用户点击另存为按钮,首先弹出保存对话框,输入名字在本地磁盘创建一个xls文件,然后对这个文件进行写操作,functionpushbutton1_Cal... 我想要实现的效果是,用户点击另存为按钮,首先弹出保存对话框,输入名字在本地磁盘创建一个xls文件,然后对这个文件进行写操作,
function pushbutton1_Callback(hObject, eventdata, handles)
[filename ,pathname]=uiputfile({'*.xls','MAT-files(*.xls)'},'保存');%pathname获取保存数据路径,filename获取保存数据名称
str=strcat(pathname,filename);%字符串连接
save (str);

我是这样子写的,的确在本地磁盘产生了一个文件,但是这个文件打开发生错误,显示的是一堆乱码。
求高手帮忙解决指点,给个例子也行。
若是我想实现的效果是用户每次点击按钮,都产生一个用户输入的名字的xls文件,然后对这个文件进行写操作,我该如何写程序。
展开
 我来答
i2nd
2010-09-01 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2016
采纳率:0%
帮助的人:1435万
展开全部
1,matlab保存的文件格式是自身的".mat" workspace格式,很不巧的跟Microsoft Access Table shortcut是同一个后缀,所以显示出同样的图标,这个可以忽略,只需要保证在matlab里处理就不会有问题。

2,matlab不能保存".xls"文件,那是excel的格式,而matlab任何save命令都产生自己的matlab格式,除非用低级IO命令fwrite自己输出,比如输出纯文本txt/csv等等。

3,即使你强行采用xls作为后缀名,结果同样也是用matlab格式保存,只是后缀不同而已。

4,生成带路径文件全名字符串时,用fullfile函数最佳,可以避免多了或者少了“\”斜杠的问题。

5,建议save的时候指定保存的变量,这样可以避免保存一些临时在命令窗口输入命令而产生的不需要的垃圾。当然,如果你变量太多,嫌麻烦,也可以一股脑就这么save。

6,我的建议修改如下:
[filename ,pathname]=uiputfile({'*.mat','MAT-files(*.mat)'},'保存');
str=fullfile(pathname,filename);
save(str,'varname1', 'varname2', 'varname3');

xls文件不可以,你的意思是不是csv? comma separated variables? 同样可以用excel打开,但是实际上是用逗号分隔的纯文本文件。
有3种方法可以实现
save 加参数指定文件格式,文本或者.mat格式
csvwrite 写matrix到文件
fwrite,这个稍微复杂一些,根据你的问题,似乎不需要这样做。
northernsun
2010-09-01
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
help save 消息已经发给你了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式