主要内容

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\xlmagic 中的函数 mymagic.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 加载项

  1. 在 MATLAB 中,找到要部署为独立应用程序的 MATLAB 代码。对于此示例,请使用位于 matlabroot\toolbox\matlabxl\examples\xlmagic 中的 mymagic.m 文件进行编译。

    appFile = fullfile(matlabroot,'toolbox','matlabxl','examples','xlmagic','mymagic.m');
  2. 使用 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.c

    • GettingStarted.html

    • includedSupportPackages.txt

    • xlmagic.def

    • xlmagic.bas

    • xlmagic.rc

    • xlmagic.xla

    • xlmagic_1_0.dll

    • xlmagic_dll.cpp

    • xlmagic_idl.h

    • xlmagic_idl.idl

    • xlmagic_idl.tlb

    • xlmagic_idl_i.c

    • xlmagic_idl_p.c

    • xlmagicClass_com.cpp

    • xlmagicClass_com.hpp

    • mccExcludedFiles.log

    • mwcomtypes.h

    • mwcomtypes_i.c

    • mwcomtypes_p.c

    • readme.txt

    • requiredMCRProducts.txt

    • unresolvedSymbols.txt

    注意

    生成的加载项不包括 MATLAB Runtime 或安装程序。要使用 buildResults 对象创建安装程序,请参阅 compiler.package.installer

Excel 中安装加载项

  1. 打开 Microsoft Excel

  2. 点击文件选项卡,然后点击选项,再点击加载项类别。

  3. 管理框中,点击 Excel 加载项,然后点击转至。系统将显示加载项对话框。

  4. 点击浏览并找到加载项 xlmagic.xla

  5. 系统会提示您将 xlmagic.xla 复制到与您的用户名关联的 Addins 文件夹。您可以选择复制该加载项或直接运行它。对于此示例,请选择。该加载项将被复制并添加到您的工作簿。

  6. 点击确定以关闭加载项对话框。

测试加载项

  1. 在 Excel 工作簿中选择一个由 3×3 单元格组成的网格。

  2. 在公式栏中输入以下自定义函数:

    =mymagic(3)
    当您在公式栏中键入 my 时,mymagic 将显示为 Excel 中的一个自定义函数:

  3. 按键盘上的 Ctrl+Shift+Enter 键。

    所选单元格将显示以下输出:

    8	1	6
    3	5	7
    4	9	2
  4. 有关其他示例,请打开位于 matlabroot\toolbox\matlabxl\examples\xlmagic 中的文件 xlmagic.xls。此电子表格包含三个自定义 VBA 宏,这些宏演示了使用编译的 MATLAB 函数的各种方法。

分发加载项

要将您的加载项分发给最终用户,请参阅分发加载项并集成到 Microsoft Excel 中

另请参阅

主题