Excel 来自 matlab 的 MathType 方程

Excel MathType Equation from matlab

是否可以将 matlab 中的 mathType 方程插入 excel电子表格?

我打算通过 matlab 创建一个 excel 文件并创建一个 pdf 报告。我的报告包含一些公式,我想用 excel MathType 方程创建它们。是否可以从 matlab 中的 activeX 访问 MathType 方程?

这需要创建 MathType 方程,然后通过 ActiveX 将其作为对象添加到 Excel 文件。我还没有找到任何从 MATLAB 调用 MathType 的方法,更不用说将生成的对象移动到文件中了。

另一种方法是通过 ActiveX , then 进入您的 Excel 文件。这是绘制公式的示例:

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');

结果图:

现在您可以将此图打印到剪贴板并使用 ActiveX 将其插入到 Excel 工作表中:

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 文件中的样子: