Create and Install Deployable Archive with Excel Integration for MATLAB Production Server
Supported Platform: Microsoft® Windows® only.
This example shows how to create a deployable archive with Excel® integration using a MATLAB® function. You can then deploy the generated archive on MATLAB Production Server™.
Prerequisites
MATLAB Compiler SDK™ requires .NET framework 4.0 or later to build Excel add-ins for MATLAB Production Server.
To generate the Excel add-in file (.xla), enable Trust access to the VBA project
object model in Excel. If you do not do this, you can manually create the add-in by importing
the .bas
file into Excel.
Create Function in MATLAB
In MATLAB, examine the MATLAB program that you want to package.
For this example, write a function mymagic.m
as follows.
function y = mymagic(x)
y = magic(x);
At the MATLAB command prompt, enter mymagic(3)
to check your
function's output.
ans = 8 1 6 3 5 7 4 9 2
Create Deployable Archive with Excel Integration Using compiler.build.excelClientForProductionServer
Create a deployable archive with Excel integration using a programmatic approach.
Create a production server archive using
mymagic.m
and save the build results to acompiler.build.Results
object.buildResults = compiler.build.productionServerArchive('mymagic.m');
Build the deployable archive with Excel integration using the
compiler.build.excelClientForProductionServer
function.mpsxlResults = compiler.build.excelClientForProductionServer(buildResults, ... 'Verbose','on');
You can specify additional options in the
compiler.build
command by using name-value arguments. For details, seecompiler.build.excelClientForProductionServer
.The
compiler.build.Results
objectbuildResults
contains information on the build type, generated files, included support packages, and build options.The function generates the following files within a folder named
mymagicexcelClientForProductionServer
in your current working directory:includedSupportPackages.txt
— Text file that lists all support files included in the assembly.mymagic.bas
— VBA module file that can be imported into a VBA project.mymagic.dll
— Dynamic library required by the Excel add-in.mymagic.reg
— Text file that contains information on unresolved symbols.mymagic.xla
— Excel add-in that can be installed directly in Excel.mymagicClass.cs
— Text file that contains information on unresolved symbols.mccExcludedFiles.log
— Log file that contains a list of any toolbox functions that were not included in the application. For information on non-supported functions, see MATLAB Compiler Limitations.readme.txt
— Text file that contains packaging and deployment information.requiredMCRProducts.txt
— Text file that contains product IDs of products required by MATLAB Runtime to run the application.
Note
The generated Excel add-in does not include MATLAB Runtime or an installer. To create an installer using the
buildResults
object, seecompiler.package.excelClientForProductionServer
.
Create Deployable Archive with Excel Integration Using mcc
As an alternative to
compiler.build.excelClientForProductionServer
, you can also use
the mcc
function to create a deployable archive by running the
following commands.
mcc -W CTF:mymagic -U -d '[Target server directory]' -v [directory containing mymagic.m]
mcc -W 'mpsxl:mymagic,Class1,version=1.0' -b -d '[Target client directory]' -v [Location of mymagic.m] class{Class1:[location of mymagic.m]}
Note
The generated Excel add-in does not include MATLAB Runtime or an installer. To create an installer, see
compiler.package.excelClientForProductionServer
.
Install Deployable Archive with Excel Integration on Server
You must deploy the archive to a MATLAB Production Server instance before you can use the add-in in Excel.
To install the deployable archive on a server instance:
Locate the deployable archive (CTF file), which is in the
mymagicproductionServerArchive
folder if you used thecompiler.build.productionServerArchive
function. If you usedmcc
, the file is in your working folder.For this example, the file name is
mymagic.ctf
.Copy the archive file to the
auto_deploy
folder of the server instance. The server instance automatically deploys it and makes it available to interested clients.
Install the Excel Add-In on Client
If you used the
compiler.build.productionServerArchive
function, runcompiler.package.excelClientForProductionServer
on the result to generate the installer, which is in themymagicinstaller
folder. Here, it is namedMyAppInstaller.exe
.Open the installer and follow the directions.
The files installed on the client include:
mymagic.bas
mymagic.dll
mymagic.xla
readme.txt
ServerConfig.dll
For more information, see MATLAB Production Server documentation.