matlab app打包到网页web与web技巧

目录

 1、环境搭建

 2、web搭建

        2.1 内网分享-防火墙开启

3、APP.ctf文件生成

4、web技巧

4.1 web导入与下载excel

4.2 输出动态log


 1、环境搭建

        打开matlab之后,在命令行输入mcr。

        由于环境没有配置,所以会报错的,找不到Runtime。

        根据命令提示,在命令行输入compiler.runtime.download

        由于matlab自身下载非常慢所以,要去另一个地方下载(网页),那么此时的操作为在命令行窗口按下CTRL+C,没看错就是这个组合键,这不是复制而是matlab中的命令停止,输入之后会得到以下输出:

        将上图中的网站复制并粘贴到网页上即可下载,每个matlab版本对应不同的Runtime版本,这个方法是最简单的下载方法,不必去matlab官网上寻找。

        

         将刚下载的压缩包压缩,随便压缩到一个地方,建议压缩到英文路径。

         压缩之后进行安装,双击setup,然后进行漫长的等待,这一步就做完了,记得将setup安装的文件放在非matlab文件夹,装完之后是这样子。

        

        打开我的电脑中的系统属性

        点击高级系统

        再点击环境变量

        点击path之后点编辑

        添加这几个环境变量

        此时恭喜你环境已经搭建好了。 

 2、web搭建

        在matlab文件夹中顺着找到下述文件夹,应该没有uu把我电脑上的文件夹复制到自己电脑上然后发现找不到,最后再回来说不行吧。

D:\software_code\matlab\toolbox\compiler\deploy\win64\MATLABWebAppServerSetup\offline

         解压这个路径下的压缩包,随便路径

         解压之后运行,管理员运行!管理员运行!

         选第一个选项注册一下,这里我已经注册过了。

        点击 RUN,就开始运行了,Home Page是你的网页,AppFolder是App所在的文件夹,在这里放上App的.ctf文件就可以运行了。

                 打开Home Page后是这个画面,同一个局域网中的用户可以访问此App,点击即可使用。

2.1 内网分享-防火墙开启

        1、找到控制面板,打开防火墙。     

        2、点击左边启动或关闭防火墙,将所有防火墙都打开。

        3、点击左边“高级设置”

        4、点击“入站规则”-“新建规则”-“端口”-“TCP”-“特定本地端口”-“允许连接”

3、APP.ctf文件生成

        那么问题来了APP的.ctf文件怎么生成呢?

        打开matlab 点击App,找到Web App Compiler,如果找不到就要自己下载,去获取更多App中搜索即可,如果你是盗版的,请重装matlab,重装的时候选择这个matlab compiler。

        点击Web App Compiler

        选择App,点击对号,package。 

4、web技巧

4.1 web导入与下载excel

% Button pushed function: UploadButton
function UploadButtonPushed(app, event)
 [file, path] = uigetfile({'*.csv*'}, 'File Selector', 'MultiSelect', 'on');
  if isequal(file,0)
    disp('Canceled')               
  else
    % Read input file
    inpuFilePath = fullfile(path,file);
    tbl = readtable(inpuFilePath);
      % Do some calculation
      app.resultTbl = table;
      app.resultTbl.col1 = tbl.col1 + tbl.col2 + tbl.col3;
    end
 end

% Button pushed function: DownloadButton
function DownloadButtonPushed(app, event)
  [file,path] = uiputfile('results.xlsx');
  resultFilePath = fullfile(path,file);
  writetable(app.resultTbl, resultFilePath)
end


app.resultTbl = table(t',id',iq',ia',ib',ic',Pa_SiC',Pb_SiC',Pc_SiC',Ta_SiC,Tb_SiC,Tc_SiC,'VariableNames',{'t','id','iq','ia','ib','ic','Pa_SiC','Pb_SiC','Pc_SiC','Ta_SiC','Tb_SiC','Tc_SiC'});

4.2 输出动态log

        使用时需要先建立一个messageTextArea。

%%% 先建立私有属性 cellArrayText

%%% 初始化
app.cellArrayText{1} = sprintf('%s\n', '***此处输出信息提示***'); % 赋初值
app.messageTextArea.Value=app.cellArrayText{1}; % 文本区域中的初始显示信息

%%% 建立输出函数
function outPut(app,str)
    string = sprintf('%s\n', str); % 将数据格式化为字符串或字符向量
    app.cellArrayText=horzcat(app.cellArrayText,string); % 水平串联数组
    app.messageTextArea.Value = app.cellArrayText; % 给TextArea赋值
end

%%% 调用
outPut(app,['时间:',datestr(now,'HH:MM:SS'),' 错误信息:','热阻配置错误']) ;

### Matlab App 打包后无法运行的解决方案 当遇到MATLAB应用程序打包成可执行文件(.exe)之后无法正常启动的情况时,有几种常见的原因以及对应的解决方法。 #### 一、权限不足导致的应用程序无法启动 如果是因为权限不够而导致应用无法启动,则可以通过确保以管理员身份来运行MATLAB编译器或是最终生成的EXE文件。具体操作为先关闭当前正在使用的MATLAB实例,接着右键点击MATLAB快捷方式并选择“以管理员身份运行”,以此模式下完成整个打包过程[^1]。 #### 二、缺少必要的依赖项——MATLAB Runtime未正确部署 另一个常见问题是目标机器上可能没有安装适当版本的MATLAB Runtime或者是其配置不正确。为了使独立于MATLAB环境之外创建的应用能够成功执行,必须保证目标计算机已安装了开发环境中所用一致版本号的MATLAB Runtime组件,并且路径设置无误[^3]。 #### 三、相对路径处理不当引发的数据加载失败 对于某些情况下,在尝试读取外部资源(比如.mat数据集)时可能会因为工作目录设定错误而抛出异常。针对这类情形的一个有效策略是通过编程手段动态获取当前脚本所在的绝对位置作为基础路径来进行后续的操作: ```matlab p1 = mfilename('fullpath'); i=findstr(p1,'\\'); % 注意这里使用双反斜杠表示法匹配Windows系统的文件分隔符 p1=p1(1:i(end)); cd(p1); ``` 上述代码片段展示了如何调整默认的工作空间至包含主函数的那个文件夹内,从而使得所有关于文件访问的动作都能基于这个新的起点展开,避免由于初始路径差异带来的兼容性难题[^4]。 #### 四、UI控件交互逻辑缺陷引起的功能失效 最后还有一种可能性就是应用程序本身存在一些仅会在脱离IDE环境下才会暴露出来的BUG,特别是涉及到图形用户界面(GUI)部分的设计。例如页面之间的跳转机制可能出现混乱等问题。对此建议仔细审查源码中的事件响应处理器定义及其关联属性设置是否合理合规;必要时参照官方指南或社区经验帖进行针对性修正[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The hopes of the whole village

看心情打赏咯

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值