The xls package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


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
Change logNone available
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 using iconv library on Windows


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

[back to package description]

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.