The xls package


Parse Microsoft Excel spreadsheet files in .xls file format (extension .xls) more specifically known as 'BIFF/Excel 97-2004'.

The library is based on the C library

[Skip to ReadMe]


Versions0.1.0, 0.1.0
Dependenciesbase (==4.*), conduit (>=1.1 && <1.3), filepath (>=1.0 && <1.5), getopt-generics (>=0.11 && <0.14), resourcet (>=0.3 && <1.2), transformers (>=0.1 && <0.6), xls [details]
Copyright2016 Harendra Kumar, 2004-2014 Authors of libxls
AuthorHarendra Kumar
CategoryCodec, Data, Parser, Spreadsheet
Home page
Source repositoryhead: git clone
UploadedFri Oct 14 14:48:54 UTC 2016 by harendra




force-has-iconvforce using iconv library on WindowsDisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees

Readme for xls-0.1.0

Haskell xls Parsing

Build Status Build status

xls is a Haskell library to parse Microsoft Excel spreadsheet files. It parses the xls file format (extension .xls) more specifically known as BIFF/Excel 97-2004.

It can be useful for mining data from old Microsoft Excel spreadsheets.


Use decodeXls to get a streaming Conduit. For example to convert an xls file to comma separated csv:

xlsToCSV :: String -> IO ()
xlsToCSV file =
    $ decodeXls file
    $$ CL.mapM_ (liftIO . putStrLn . intercalate ",")

An xls2csv utility is shipped with the package. See the haddock documentation for the API details.

Under the hood

The library is based on the C library libxls, see sourceforge or github.

See Also


Welcome! If you would like to have something changed or added go ahead, raise an issue or send a pull request.