Effacer les filtres
Effacer les filtres

save multiple random numbers on different sheet of execl

5 vues (au cours des 30 derniers jours)
abdul rehman
abdul rehman le 21 Déc 2021
%% 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 commentaires
Walter Roberson
Walter Roberson le 21 Déc 2021
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});
abdul rehman
abdul rehman le 21 Déc 2021
No I just want to save multiple excel sheets with different random patterns in different columns, if it can be done any easy way

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Déc 2021
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,:)
ans = 5×5 table
Customer x y d jolene ________ _ _ _ ______ 0.63969 0 5 7 9 0.11981 1 7 7 11 0.88455 1 7 8 5 0.70752 1 6 8 6 0.44112 0 7 6 9
data(1:5,:)
ans = 5×5 table
Customer x y d jolene ________ _ _ _ ______ 0.63969 0 5 7 9 0.11981 1 7 7 11 0.88455 1 7 8 5 0.70752 1 6 8 6 0.44112 0 7 6 9
data{1:5,:} - readback{1:5,:}
ans = 5×5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
%yup!

Plus de réponses (0)

Produits


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by