save multiple random numbers on different sheet of execl
1 次查看(过去 30 天)
显示 更早的评论
%% I want to replace data with data1, actually want to controll random number for each column in every sheet
VariableNames = {'Customer','x','y','d'};
SheetNames = {'A','B','C','D'};
filename_out = 'test.xlsx';
for hh = 1:numel(SheetNames)
% export to excel
data = rand(100,numel(VariableNames));
%%data1 =[rand(100,1),randi([0,1],100,1),randi([5,8],100,1),randi([5,8],100,1),randi([5,12],100,1)]
writecell(VariableNames,filename_out,"Sheet" ,char(SheetNames(hh)),"Range",'A1'); % save column headers in first line
writematrix(data,filename_out,"Sheet" ,char(SheetNames(hh)),"Range",'A2'); % save data (cell) to excel file
end
2 个评论
Walter Roberson
2021-12-21
Is there a particular reason you are not creating a table and using writetable() ?
T = array2table(data, 'VariableNames', VariableNames);
writetable(T, filename_out, 'Sheet', SheetNames{hh});
采纳的回答
Walter Roberson
2021-12-21
VariableNames = {'Customer', 'x', 'y', 'd', 'jolene'};
SheetNames = {'A','B','C','D'};
filename_out = 'test.xlsx';
for hh = 1:numel(SheetNames)
data = table(rand(100,1),randi([0,1],100,1),randi([5,8],100,1),randi([5,8],100,1),randi([5,12],100,1), 'VariableNames', VariableNames);
writetable(data, filename_out, "Sheet", SheetNames{hh}); % save data to excel file
end
%id it work?
readback = readtable(filename_out, "Sheet", SheetNames{end});
readback(1:5,:)
data(1:5,:)
data{1:5,:} - readback{1:5,:}
%yup!
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!