Использование Matlab для сохранения 100 текстовых файлов в один файл Excel, но в другой таблице? - PullRequest
1 голос
/ 27 апреля 2011

Привет У меня есть от 50 до 100 текстовых файлов, в которые я хочу поместить их данные в другую электронную таблицу. Все файлы имеют две строки текста, строка Thord начиналась с цифр и текста после нее. Остальное как 1000 х 500 межд. Я хочу сделать это в Matlab.

Пожалуйста, любые предложения ????

1 Ответ

1 голос
/ 27 апреля 2011

Если вы используете 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...