tclSylk is a package for SYLK file manipulation.
It resides in the Half Bakery here: [L1 ]
Example
set report [Sylk csv2sylk [join $csv \n]]
# insert age calculation formula
set report [Sylk dup_column $report 10]
set report [Sylk formula $report ,11 {DATEDIF(RC[-1],TODAY(),"Y")&"Y,"&DATEDIF(RC[-1],TODAY(),"YM")&"M"}]
set report [Sylk widths $report] ;# set optimal column widths
set report [Sylk setwidth $report 11 8] ;# ensure calc width is right
set font Arial
set fsize 240
set report [dict lappend report picture "P;PGeneral" "P;E$font;M$fsize" "P;E$font;M$fsize;SB"]
set report [Sylk formula $report 1,11 ""]
set report [Sylk cell $report 1,11 "Age"]
foreach line $headers {
set report [Sylk format $report [expr {$line + 1}], ";P0;FG0L;SD"]
}
puts [Sylk export $report]