Запись данных в электронную таблицу Excel с помощью ActiveX

Этот пример показывает, как записать матрицу MATLAB® в электронную таблицу Excel®. Для альтернатив экспортированию данных MATLAB к электронной таблице Microsoft® Excel смотрите функции и примеры в электронных таблицах.

Создайте объект Excel.

e = actxserver('Excel.Application');

Добавьте рабочую книгу.

eWorkbook = e.Workbooks.Add;
e.Visible = 1;

Сделайте первый лист активным.

eSheets = e.ActiveWorkbook.Sheets;
eSheet1 = eSheets.get('Item',1);
eSheet1.Activate

Поместите данные MATLAB в рабочий лист.

A = [1 2; 3 4];
eActivesheetRange = get(e.Activesheet,'Range','A1:B2');
eActivesheetRange.Value = A;

Считайте данные назад в MATLAB, где массив B является массивом ячеек.

eRange = get(e.Activesheet,'Range','A1:B2');
B = eRange.Value;

Преобразуйте данные в двойную матрицу. Используйте следующую команду, если массив ячеек содержит только скалярные значения.

B = reshape([B{:}],size(B));

Сохраните рабочую книгу в файле.

SaveAs(eWorkbook,'myfile.xls')

Если программа Excel отображает диалоговое окно о том, чтобы сохранить файл, выберите соответствующий ответ, чтобы продолжиться.

Если вы сохранили файл, то закройте рабочую книгу.

eWorkbook.Saved = 1;
Close(eWorkbook)

Выйдите из программы Excel и удалите серверный объект.

Quit(e)
delete(e)

Примечание

Убедитесь, что вы закрываете объекты рабочей книги, которые вы создаете, чтобы предотвратить потенциальные утечки памяти.

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

Похожие темы

Внешние веб-сайты

Была ли эта тема полезной?