MATLAB Answers

writing into excel sheets while keeping the leading zeros

10 views (last 30 days)
Hello, is there any way to keep the leading zeros in my number while saving to excel sheet as a csv file? I should be getting 000 001 010 011 etc but in the excel sheet it is 0 1 10 11. How can I solve this?

  2 Comments

Adam
Adam on 14 Mar 2018
Isn't that down to the Excel formatting if it is a number rather than a string?

Sign in to comment.

Accepted Answer

Pawel Jastrzebski
Pawel Jastrzebski on 14 Mar 2018
Edited: Pawel Jastrzebski on 14 Mar 2018
Following the:
you could use a similar method:
val1 = randi(1000,[20 1]);
val2 = rand(20,1);
val = val1.*val2
valWithZeros = num2str(val,'%09.3f')
valWithZeros = cellstr(valWithZeros)
for i=1:length(valWithZeros)
valWithZeros{i} = strjoin({'''',valWithZeros{i}});
end
xlswrite('file.xlsx',valWithZeros)
Or pre-format your sheet and then copy the data to it from Matlab. If you need to repeat this action over many batches of data, make sure you first make a copy of the pre-formatted sheet and then overwrite it with Matlab:
Pre-formatted sheet:
The Matlab code:
val1 = randi(1000,[20 1]);
val2 = rand(20,1);
val = val1.*val2
xlswrite('file.xlsx',val,'Sheet2','B2:B21')
Output:

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by