Если вы используете MATALB под Windows, вы можете использовать автоматизацию COM для управления Excel и создания необходимого файла.
Взгляните на xlswrite в обмене файлами Mathworks для примера.
Указанный код не создает новый лист Excel, но может заполнить любой существующий лист, созданный вами заранее (конечно, в существующей книге).
Если filename
- файл, который нужно открыть, может пригодиться следующий код (на основе xlswrite):
Excel = actxserver('Excel.Application');
op = invoke(Excel.Workbooks, 'open', [pwd filesep filename]);
set(Excel, 'Visible', visible); % you may safely remove this
cell_update(sheetname, row, col, value)
function cell_update(sheetname, row, col, value)
% Make the specified sheet active.
try
Sheets = Excel.ActiveWorkBook.Sheets;
target_sheet = get(Sheets, 'Item', sheetname);
catch
% Error if the sheet doesn't exist. It would be nice to create it, but
% I'm too lazy.
% The alternative to try/catch is to call xlsfinfo to see if the sheet exists, but
% that's really slow.
error(['Sheet ' sheetname ' does not exist!']);
end;
invoke(target_sheet, 'Activate');
Activesheet = Excel.Activesheet;
cellnum = [num2col(col) num2str(row)];
ActivesheetRange = get(Activesheet,'Range', cellnum, cellnum);
set(ActivesheetRange, 'Value', value);
end