我正在为自己和其他人使用 Excel 上的 GUI 开发一个 Matlab 应用程序(为了易于使用,但也因为一些数据处理需要在 Excel 中完成)。
为了简化起见,以下是构成我的应用程序的所有部分:
- 第 1 部分:带有运行设置的 Excel GUI
- 第 2 部分:创建数据结果和图像的 Matlab 程序
- 第 3 部分:包含 Matlab 数据和图像结果以及其他 Excel 数据处理的 Excel GUI
目前,当其他人需要使用它时,他们给我运行设置(第 1 部分),我为他们运行 Matlab 程序(第 2 部分) )并向他们提供数据、图像和我最后的 Excel GUI(第 3 部分)。
我正在尝试通过结合上述部分来改善这种情况。我看到2 个选项:
- 选项 1:从 Excel(电子表格链接 EX 工具箱)运行 Matlab,因此将第 1 部分和第 2 部分放在一起
- => 对我来说更适合(我有 Matlab,我可以通过运行 Matlab 代码看到更多信息)
- 选项 2:将全部内容打包:将第 1+2+3 部分打包到可执行文件中(MATLAB 编译器工具箱)
- => 适用于我的最终用户(不需要 Matlab)
现在我的问题:
- 我可以(我应该吗?我不应该吗?)同时选择这两个选项吗?还是我把一切都复杂化了?并且根本不应该使用 Excel Link 工具箱?
- 我需要 Matlab Builder EX 来实现选项 2 吗? (因此创建一个加载项)或者我也可以使用工具箱实现此目的:Excel Link + Compiler? (没有插件,但是 VBA 代码?)
干杯!
最佳答案
如果您选择使用 MATLAB 编译器,我想象的步骤如下
在 MATLAB 中创建 GUI。它将呈现一个允许用户输入一些设置的界面。它还具有一个“运行”按钮,可以使用这些参数运行 MATLAB 程序。
在算法结束时,使用 COM 自动化打开 Excel 并以编程方式使用上一步的结果填充表格。您可以将任何生成的 MATLAB 图形和绘图的快照添加到 excel 文件(有关示例,请参阅 here)或简单地另存为单独的图像文件。您甚至可以将 VBA 宏添加到工作表中。
将上述内容部署为独立应用程序。它不依赖于 MATLAB(用户只需安装免费提供的 MCR 运行时)。
用户运行您的应用程序,并使用它生成 Excel 文件。现在,用户可以选择打开此文件,并手动执行任何最终数据操作。
如果您需要其他集成,可以使用“Spreadsheet Link EX”工具箱。
HTH
关于matlab - 使用 Excel GUI 编译 Matlab 应用程序的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11634378/