Xls2txt

Utility converters Excel spreadsheet (XLS, XLW) to plain text TSV file. Rows are separated by new line characters and cells by tabs (\t, U+0009). In all-sheets mode form feed (\f, U+000C) is emited between sheets. Designed for Linux, also works on FreeBSD.

Usage:

xls2txt [-C charset] -l sheet.xls
xls2txt [-C charset] [-n sheetnum|-A] [-f] sheet.xls [X:X]

usage: xls2txt [-C cs] [-n sheetnum|-A] [-f] file.xls [X:X]
       xls2txt [-C cs] -l file.xls
 X:X    cell range (eg. A1:C5, D2:E)
 -l     list sheets
 -n num select sheet
 -A     all sheets (\f separated)
 -C cs  output charset (utf8 asc iso1 iso2), utf8 is default
 -f     don't try to format numbers
 -a     ascii output (same as -C asc)

Download: xls2txt-0.14.tar.gz (: clang fixes)
Patch for Solaris: xls2txt-0.12-solaris.diff against 0.12 (by Mitchell Perilstein)

See also: antiword – a free MS Word reader