从 MATLAB 创建 Excel 加载项
支持的平台:仅限 Microsoft® Windows®。
此示例说明如何使用 MATLAB® Compiler™ 生成包含自定义函数的 Microsoft Excel® 加载项,以便在 Excel 中使用。函数 mymagic 返回一个 n×n 幻方矩阵,该矩阵的行和与列和相等。目标系统不需要 MATLAB 的许可副本即可运行该加载项。
开始之前,请验证您是否已满足 MATLAB Compiler 的所有 Excel 目标要求。有关详细信息,请参阅MATLAB Compiler 的 Excel 目标要求和限制。
注意
要生成 Visual Basic® 文件,请在 Excel 中启用 Trust access to the VBA project object model。如果您不这样做,您可以通过将 .bas 文件导入 Excel 来手动创建加载项。
在 MATLAB 中创建函数
在 MATLAB 中,找到要部署为 Excel 加载项的 MATLAB 代码。
对于此示例,请编译位于 中的函数 matlabroot\toolbox\matlabxl\examples\xlmagicmymagic.m。
function y = mymagic(x)
y = magic(x)在 MATLAB 命令提示符下,输入 mymagic(5)。
输出为一个 5×5 方阵。
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9使用 compiler.build.excelAddIn 创建 Excel 加载项
使用编程方法构建 Excel 加载项。或者,如果您想使用图形界面创建 Excel 加载项,请参阅使用 Excel 加载项编译器创建 Excel 加载项。
在 MATLAB 中,找到要部署为独立应用程序的 MATLAB 代码。对于此示例,请使用位于
中的matlabroot\toolbox\matlabxl\examples\xlmagicmymagic.m文件进行编译。appFile = fullfile(matlabroot,'toolbox','matlabxl','examples','xlmagic','mymagic.m');
使用
compiler.build.excelAddIn函数构建 Excel 加载项。使用名称-值参量设置库和类名称并启用 Visual Basic 文件的生成。buildResults = compiler.build.excelAddIn(appFile, ... 'AddInName','xlmagic', ... 'ClassName','xlmagicclass', ... 'GenerateVisualBasicFile','on');
您可以使用名称-值参量在
compiler.build命令中指定其他选项。有关详细信息,请参阅compiler.build.excelAddIn。compiler.build.Results对象buildResults包含有关编译类型、生成的文件、包含的支持包和编译选项的信息。该函数会在当前工作目录中名为
mymagicexcelAddIn的文件夹中生成以下文件:dlldata.cGettingStarted.htmlincludedSupportPackages.txtxlmagic.defxlmagic.basxlmagic.rcxlmagic.xlaxlmagic_1_0.dllxlmagic_dll.cppxlmagic_idl.hxlmagic_idl.idlxlmagic_idl.tlbxlmagic_idl_i.cxlmagic_idl_p.cxlmagicClass_com.cppxlmagicClass_com.hppmccExcludedFiles.logmwcomtypes.hmwcomtypes_i.cmwcomtypes_p.creadme.txtrequiredMCRProducts.txtunresolvedSymbols.txt
注意
生成的加载项不包括 MATLAB Runtime 或安装程序。要使用
buildResults对象创建安装程序,请参阅compiler.package.installer。
在 Excel 中安装加载项
打开 Microsoft Excel。
点击文件选项卡,然后点击选项,再点击加载项类别。
在管理框中,点击 Excel 加载项,然后点击转至。系统将显示加载项对话框。
点击浏览并找到加载项
xlmagic.xla。系统会提示您将
xlmagic.xla复制到与您的用户名关联的Addins文件夹。您可以选择复制该加载项或直接运行它。对于此示例,请选择是。该加载项将被复制并添加到您的工作簿。点击确定以关闭加载项对话框。
测试加载项
在 Excel 工作簿中选择一个由 3×3 单元格组成的网格。
在公式栏中输入以下自定义函数:
当您在公式栏中键入=mymagic(3)
my时,mymagic将显示为 Excel 中的一个自定义函数:按键盘上的 Ctrl+Shift+Enter 键。
所选单元格将显示以下输出:
8 1 6 3 5 7 4 9 2
有关其他示例,请打开位于
中的文件matlabroot\toolbox\matlabxl\examples\xlmagicxlmagic.xls。此电子表格包含三个自定义 VBA 宏,这些宏演示了使用编译的 MATLAB 函数的各种方法。
分发加载项
要将您的加载项分发给最终用户,请参阅分发加载项并集成到 Microsoft Excel 中。