# writing into excel sheets while keeping the leading zeros

10 views (last 30 days)
SSG_newbiecoder on 14 Mar 2018
Commented: SSG_newbiecoder on 14 Mar 2018
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?

Adam on 14 Mar 2018
Isn't that down to the Excel formatting if it is a number rather than a string?
SSG_newbiecoder on 14 Mar 2018
even if I give it as a string it is still the same

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:

#### 1 Comment

SSG_newbiecoder on 14 Mar 2018
Thank you for the help. It works for me

### Community Treasure Hunt

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

Start Hunting!

Translated by