2016-11-28 13 views
0

Допустим, у меня есть ячейки с именем data так:Экспорт данных из ячейки в Excel файл

data{1} = vector1; 
data{2} = vector2; 
... 
data{n} = vectorn; 

Все векторы (с числовыми значениями) в data имеют одинаковый размер 1xN.

Теперь я хочу экспортировать этот файл данных в документ .xlsx, где каждая строка является вектором, и я хочу пометить каждый столбец. Результат должен быть что-то вроде этого:

label1   label2  ...  labelN 

vector1(1,1) vector1(1,2) ...  vector1(1,N) 

    ...    ...   ...   ... 

vectorn(1,1) vectorn(1,2) ...  vectorn(1,N) 

Я пытался сделать это с помощью:

n=10; 
N=5; 
for i=1:n 
    data{i}=rand(1,N); 
end 
filename='test.xlsx'; 
xlswrite(filename,data) 

но мой .xlsx файл поставляется со всеми данными из data только в одной строке. И я не знаю, как делать этикетки.

Пожалуйста, помогите мне.

ответ

1

Это может быть сделано с помощью vertcat, num2cell, sprintf, strsplit и xlswrite следующим образом:

modified_data = num2cell(vertcat(data{:}));  % Converting 1xn cell into nxN cell 

% Generating Column Headers as specified in the question 
col_header = strsplit(sprintf('label%d ' , 1:N)); 
col_header = col_header(1:end-1); 
% If N is not much high number (e.g; if N=5), you can input Column Headers as: 
% col_header = {'label1','label2','label3','label4','label5'}; 

filename='test.xlsx';       % Name of the excel file to be written 
xlswrite(filename,[col_header; modified_data]); % Writing the excel file 
0

Его так называете rand(1,N) вместе в одной ячейке (data{i}). Для каждого значения в свою ячейку, вы должны создать матрицу NxN клеток, что проще всего сделать, если вы transfrom весь matirx:

n=10; 
N=5; 
    data=rand(n,N); 
    celldata=num2cell(data); 
filename='test.xlsx'; 
xlswrite(filename,celldata); 

иначе вы должны сделать две петли, но это еще не так велика, производительность повышается

+0

ОП имеет данные в виде 1xN клетки. Этот ответ ничего не говорит о конверсии. Также не сообщается информация о заголовках столбцов. Так что это не ответ –

 Смежные вопросы

  • Нет связанных вопросов^_^