Поддерживаемая платформа: Windows® только.
В этом примере показано, как использовать MATLAB® Compiler™, чтобы сгенерировать Microsoft® Excel® дополнение, содержащее пользовательскую функцию для использования в Excel. Пользовательский функциональный mymagic
возвращает n на n матрицу, заполненную положительными целыми числами с равными суммами строки и столбца. Целевая система не требует, чтобы лицензированная копия MATLAB запустила дополнение.
Проверьте, что вы соответствовали всему MATLAB Compiler целевые требования Excel. Для получения дополнительной информации смотрите MATLAB Compiler для Дополнительных Необходимых условий Microsoft Excel.
Проверьте, что вам установили Microsoft Excel.
У конечных пользователей должна быть установка MATLAB Runtime, чтобы запустить дополнение. Для получения дополнительной информации смотрите Установку и Сконфигурируйте MATLAB Runtime (MATLAB Compiler SDK).
Для тестирования можно использовать установку MATLAB вместо MATLAB Runtime.
В MATLAB найдите код MATLAB, который вы хотите развернуть как дополнение Excel.
В данном примере компиляция с помощью файла mymagic.m
расположенный в
.matlabroot
\toolbox\matlabxl\examples\xlmagic
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
Группируйте функцию в дополнение Excel с помощью приложения Library Compiler. В качестве альтернативы, если вы хотите создать дополнение Excel из окна команды MATLAB с помощью программируемого подхода, смотрите Create Дополнение Excel Используя compiler.build.excelAddIn.
На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стреле. В Application Deployment нажмите Library Compiler. В окне проекта MATLAB Compiler нажмите Excel Add-in.
Альтернативно, можно открыть приложение Library Compiler путем ввода libraryCompiler
в подсказке MATLAB.
В окне проекта приложения Library Compiler задайте файлы приложения MATLAB, которое вы хотите развернуть.
В разделе Exported Functions панели инструментов щелкнуть.
В окне Add Files просмотрите к папке в качестве примера и выберите функцию, которую вы хотите группировать. Нажмите Open.
Функция добавляется к списку экспортируемых файлов функции. Повторите этот шаг, чтобы группировать несколько файлов в том же приложении.
В разделе Packaging Options панели инструментов решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из опций:
Runtime downloaded from web — Сгенерируйте инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB. Можно задать имя файла инсталлятора.
Runtime included in package — Сгенерируйте приложение, которое включает инсталлятор MATLAB Runtime. Можно задать имя файла инсталлятора.
Примечание
В первый раз, когда вы выбираете эту опцию, вам предлагают загрузить инсталлятор MATLAB Runtime.
Проверьте что функция, определяемая в mymagic.m
сопоставлен в Class1
.
Настройте пакетное приложение и его внешний вид:
Информация о библиотеке Доступная для редактирования информация о развертываемом приложении. Сгенерированный установщик использует эту информацию, чтобы заполнить установленные метаданные приложений. Смотрите Настраивают Инсталлятор.
Additional installer options — Отредактируйте путь к стандартной установке для сгенерированного инсталлятора и выбора пользовательского логотипа. Смотрите Изменение Путь к Установке.
Files required for your library to run — Дополнительные требуемые для запуска сгенерированного приложения файлы. Эти файлы включены в сгенерированное установщиком приложения. Смотрите Управляют Необходимыми Файлами в Проекте Компилятора.
Files installed for your end user — Файлы, которые установлены с вашим приложением.
Additional runtime settings — Специфичные для платформы опции для управления сгенерированным исполняемым файлом. Смотрите Дополнительные Настройки Во время выполнения.
По окончании выбрав ваши упаковочные опции, сохраняете свой проект Library Compiler и генерируете пакетное приложение.
Нажмите Package.
В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.
В диалоговом окне Package проверьте, что Open output folder when process completes выбран.
Когда упаковочный процесс будет завершен, исследуйте сгенерированный выход в целевой папке.
Сгенерированы три папки: for_redistribution
, for_redistribution_files_only
, и for_testing
.
Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.
Файл журнала PackagingLog.html
содержит упаковочные результаты.
compiler.build.excelAddIn
Как альтернатива приложению Library Compiler, можно создать дополнение Excel с помощью программируемого подхода. Если вы уже создали дополнение с помощью Library Compiler, смотрите Тест Дополнение в Excel.
В MATLAB найдите код MATLAB, который вы хотите развернуть как автономное приложение. В данном примере компиляция с помощью файла mymagic.m
расположенный в
.matlabroot
\toolbox\matlabxl\examples\xlmagic
appFile = fullfile(matlabroot,'toolbox','matlabxl','examples','xlmagic','mymagic.m');
Создайте дополнение Excel с помощью compiler.build.excelAddIn
функция. Используйте аргументы name-value, чтобы сгенерировать BAS и файлы XLA.
Примечание
Чтобы сгенерировать файл XLA, включите Trust access to the VBA project object model в Excel.
buildResults = compiler.build.excelAddIn(appFile, ... 'GenerateVisualBasicFile','on')
compiler.build.Results
объект buildResults
содержит информацию о типе сборки, сгенерированных файлах, включал пакеты поддержки и опции сборки.
Функция генерирует следующие файлы в папке под названием mymagicexcelAddIn
в вашей текущей рабочей директории:
dlldata.c
GettingStarted.html
includedSupportPackages.txt
mymagic.def
mymagic.bas
mymagic.rc
mymagic.xla
mymagic_1_0.dll
mymagic_dll.cpp
mymagic_idl.h
mymagic_idl.idl
mymagic_idl.tlb
mymagic_idl_i.c
mymagic_idl_p.c
mymagicClass_com.cpp
mymagicClass_com.hpp
mccExcludedFiles.log
mwcomtypes.h
mwcomtypes_i.c
mwcomtypes_p.c
readme.txt
requiredMCRProducts.txt
unresolvedSymbols.txt
Примечание
Сгенерированный блок не включает MATLAB Runtime или инсталлятор. Создать инсталлятор, использующий buildResults
возразите, смотрите compiler.package.installer
.
Задайте дополнительные опции при помощи одной или нескольких разделенных запятой пар аргументов name-value в compiler.build
команда.
'AddInName'
— Имя сгенерированного дополнения.
'AddInVersion'
— Версия уровня системы сгенерированного дополнения.
'AdditionalFiles'
— Пути к дополнительным файлам, чтобы включать в дополнение.
'AutoDetectDataFiles'
— Отметьте, чтобы автоматически включать файлы данных.
'ClassName'
— Имя класса.
'DebugBuild'
— Отметьте, чтобы включить отладочные символы..
'EmbedArchive'
— Отметьте, чтобы встроить развертываемый архив в сгенерированное дополнение.
'GenerateVisualBasicFile'
— Отметьте, чтобы сгенерировать Visual Basic® файл (.bas
) и дополнительный файл Excel (.xla
).
'OutputDirectory'
— Путь к выходной директории, которая содержит сгенерированные файлы.
'SupportPackages'
— Метод, чтобы включать пакеты поддержки.
'Verbose'
— Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.
Например, можно указать, что дополнение называет и включает многословный выход.
buildResults = compiler.build.excelAddIn(appFile,... 'GenerateVisualBasicFile','on', ... 'AddInName','MyMagicExcel','Verbose','On');
Открытый Microsoft Excel.
Кликните по вкладке File, нажмите Options, и затем кликните по категории Add-Ins.
В поле Manage нажмите Excel Add-ins, и затем нажмите Go. Диалоговое окно Add-Ins появляется.
Нажмите Browse и найдите дополнение mymagic.xla
.
Вам предлагают скопировать mymagic.xla
к Addins
папка сопоставлена с вашим именем пользователя. Можно принять решение скопировать дополнение или запустить его непосредственно. В данном примере выбор, YES. Дополнение копируется и добавляется к вашей рабочей книге.
Нажмите OK, чтобы закрыть диалоговое окно Add-Ins
Выберите сетку 3х3 ячеек в рабочей книге Excel.
Введите следующую пользовательскую функцию в панель формул:
=mymagic(3)
my
в панели формул, mymagic
появляется как пользовательская функция в Excel.Нажмите Ctrl +Shift+Enter на клавиатуре.
Выбранные ячейки отображают следующий вывод:
8 1 6 3 5 7 4 9 2
Чтобы распределить ваше дополнение конечным пользователям, смотрите, Распределяют Дополнения и Объединяются В Microsoft Excel.
libraryCompiler
| compiler.build.excelAddIn