Создайте Excel Add-In из MATLAB

Поддерживаемая платформа: 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 найдите код 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 Add-In Using Library Compiler App

Группируйте функцию в дополнение Excel с помощью приложения Library Compiler. В качестве альтернативы, если вы хотите создать дополнение Excel из окна команды MATLAB с помощью программируемого подхода, смотрите Create Дополнение Excel Используя compiler.build.excelAddIn.

  1. На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стреле. В Application Deployment нажмите Library Compiler. В окне проекта MATLAB Compiler нажмите Excel Add-in.

    Альтернативно, можно открыть приложение Library Compiler путем ввода libraryCompiler в подсказке MATLAB.

  2. В окне проекта приложения Library Compiler задайте файлы приложения MATLAB, которое вы хотите развернуть.

    1. В разделе Exported Functions панели инструментов щелкнутьAdd exported function to the project.

    2. В окне Add Files просмотрите к папке в качестве примера и выберите функцию, которую вы хотите группировать. Нажмите Open.

    Функция добавляется к списку экспортируемых файлов функции. Повторите этот шаг, чтобы группировать несколько файлов в том же приложении.

  3. В разделе Packaging Options панели инструментов решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из опций:

    • Runtime downloaded from web — Сгенерируйте инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB. Можно задать имя файла инсталлятора.

    • Runtime included in package — Сгенерируйте приложение, которое включает инсталлятор MATLAB Runtime. Можно задать имя файла инсталлятора.

      Примечание

      В первый раз, когда вы выбираете эту опцию, вам предлагают загрузить инсталлятор MATLAB Runtime.

  4. Проверьте что функция, определяемая в mymagic.m сопоставлен в Class1.

  5. Настройте пакетное приложение и его внешний вид:

Группируйте приложение

По окончании выбрав ваши упаковочные опции, сохраняете свой проект Library Compiler и генерируете пакетное приложение.

  1. Нажмите Package.

    В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.

  2. В диалоговом окне Package проверьте, что Open output folder when process completes выбран.

    Когда упаковочный процесс будет завершен, исследуйте сгенерированный выход в целевой папке.

    • Сгенерированы три папки: for_redistribution, for_redistribution_files_only, и for_testing.

      Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.

    • Файл журнала PackagingLog.html содержит упаковочные результаты.

Создайте дополнение Excel Используя compiler.build.excelAddIn

Как альтернатива приложению Library Compiler, можно создать дополнение Excel с помощью программируемого подхода. Если вы уже создали дополнение с помощью Library Compiler, смотрите Тест Дополнение в Excel.

  1. В MATLAB найдите код MATLAB, который вы хотите развернуть как автономное приложение. В данном примере компиляция с помощью файла mymagic.m расположенный в matlabroot\toolbox\matlabxl\examples\xlmagic.

    appFile = fullfile(matlabroot,'toolbox','matlabxl','examples','xlmagic','mymagic.m');
  2. Создайте дополнение 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');

Протестируйте дополнение в Excel

Добавьте дополнение в Excel

  1. Открытый Microsoft Excel.

  2. Кликните по вкладке File, нажмите Options, и затем кликните по категории Add-Ins.

  3. В поле Manage нажмите Excel Add-ins, и затем нажмите Go. Диалоговое окно Add-Ins появляется.

  4. Нажмите Browse и найдите дополнение mymagic.xla.

  5. Вам предлагают скопировать mymagic.xla к Addins папка сопоставлена с вашим именем пользователя. Можно принять решение скопировать дополнение или запустить его непосредственно. В данном примере выбор, YES. Дополнение копируется и добавляется к вашей рабочей книге.

  6. Нажмите OK, чтобы закрыть диалоговое окно Add-Ins

Протестируйте дополнение

  1. Выберите сетку 3х3 ячеек в рабочей книге Excel.

  2. Введите следующую пользовательскую функцию в панель формул:

    =mymagic(3)
    При печати my в панели формул, mymagic появляется как пользовательская функция в Excel.

  3. Нажмите Ctrl +Shift+Enter на клавиатуре.

    Выбранные ячейки отображают следующий вывод:

    8	1	6
    3	5	7
    4	9	2

Распределите дополнение

Чтобы распределить ваше дополнение конечным пользователям, смотрите, Распределяют Дополнения и Объединяются В Microsoft Excel.

Смотрите также

|

Похожие темы