Excel MathType Equation от Matlab - PullRequest
       19

Excel MathType Equation от Matlab

0 голосов
/ 18 октября 2018

Можно ли вставить mathType уравнение из matlab в электронную таблицу excel ?

Я собираюсь создать файл Excelчерез Matlab и создать отчет в формате PDF.Мой отчет включает в себя некоторые формулы, и я хочу создать их с уравнением Excel MathType.Есть ли доступ к уравнению MathType из ActiveX в Matlab?

1 Ответ

0 голосов
/ 19 октября 2018

Для этого потребуется создать уравнение MathType, а затем добавить его в качестве объекта в файл Excel через ActiveX.Я не нашел никакого способа вызвать MathType из MATLAB, не говоря уже о том, чтобы переместить полученный объект в файл.

Одна альтернатива - построить вашу формулу на рисунке MATLAB , затем захватить и вставить рисунок в виде изображения в файл Excel через ActiveX.Вот пример для построения формулы:

hFigure = figure('Position', [100 100 300 200], 'Color', 'w');   % Create white figure
hAxes = axes(hFigure, 'Position', [0 0 1 1], 'Visible', 'off');  % Create invisible axes
text(hAxes, 0.5, 0.5, '$$y = \sum_{i=1}^N a_i*x_i$$', ...        % Create equation text
     'Interpreter', 'latex', ...
     'FontSize', 30, ...
     'HorizontalAlignment', 'center');

И полученная фигура:

enter image description here

Теперь вы можете напечатать эту фигуру вбуфер обмена и вставьте его в лист Excel с ActiveX:

excel = actxserver('Excel.Application');  % Create server object
excelWorkbook = excel.Workbooks.Add(1);   % Add a workbook
excelSheet = excel.ActiveSheet;           % Get the active sheet
dpi = get(groot, 'ScreenPixelsPerInch');  % Get screen dpi
print(hFigure, sprintf('-r%d', dpi), ...  % Print the figure at the screen resolution
      '-clipboard', '-dbitmap');          %   to the clipboard as a bitmap
excelSheet.Range('B2').PasteSpecial();    % Paste from clipboard (top left corner
                                          %   of image will be in the cell 'B2')
excelWorkbook.SaveAs('formula.xlsx');     % Save workbook to a file
excelWorkbook.Close();                    % Close workbook
excel.Quit();                             % Quit server
excel.delete();                           % Delete server object

А вот как это выглядит в файле Excel:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...