script to format rows to column and export to excel

i need to write script to copy the txt file to excel. (data can be 2000+), data may not be in order
ex:
my name: abc
age: 20
add: xyz
DOB: 17-mar-2010
add1: adf
add2: guioth

my name: cat
age: 35
DOB: 11-oct-2005
city: yeshjl
add: opq
DOB: 17-mar-2010
add1: atg
add2: gth
add3:ert

my name: def
age: 21
DOB: 17-apr-2010
add: uvw
add1: adf
add2: gyuth

require format as below in excel, columnwise
abc 20 17-mar-2010 xyz
cat 35 11-oct-2005 opq yeshjl
def 21 17-apr-2010 uvw

hi, welcome to the forum. What have you tried so far?

$ cat myscript
#!/usr/bin/ksh
[[ -n "$(tail -1 txt)" ]] && echo >>txt
while read a
do
case ${a%%:*} in
        "my name") f1=${a##*: } ;;
        "age") f2=${a##*: } ;;
        "DOB") f3=${a##*: } ;;
        "city") f5=${a##*: } ;;
        "add") f4=${a##*: } ;;
esac
if [[ -z $a ]]; then
        echo "$f1 $f2 $f3 $f4 $f5"
        f1="" ; f2="" ; f3="" ; f4="" ; f5=""
fi
done<txt
$ cat txt
my name: abc
age: 20
add: xyz
DOB: 17-mar-2010
add1: adf
add2: guioth

my name: cat
age: 35
DOB: 11-oct-2005
city: yeshjl
add: opq
DOB: 17-mar-2010
add1: atg
add2: gth
add3:ert

my name: def
age: 21
DOB: 17-apr-2010
add: uvw
add1: adf
add2: gyuth

$ ksh myscript
abc 20 17-mar-2010 xyz
cat 35 17-mar-2010 opq yeshjl
def 21 17-apr-2010 uvw
$