libxls is a C library which can read Excel (xls) files. It has been tested on Linux x86 and Cygwin but may work on any little-endian system. It is not compatible with big endian systems.
libxls can read excel files since Excel 97 (the BIFF8 format)
libxls cannot write Excel files.
libxls is also shipped with xls2csv, a tool which converts an xls file to a csv format, more suitable for parsing.
The OpenOffice.org's Documentation of the Microsoft Excel File Format and OpenOffice.org's Coumpound Document file format were of much help to correct bugs in libxls.
libxls is a C library
#include <stdio.h>
#include <xls.h>
xls2csv takes as its first argument the name of an Excel file. It write to standard output the file converted to csv format.
For example, we can convert the file test.xls into a csv file called test.csv with the following command:
xls2csv test.xls > test.csv