xls

Parse Microsoft Excel xls files (BIFF/Excel 97-2004)

http://github.com/harendra-kumar/xls

Version on this page:0.1.3
LTS Haskell 16.31:0.1.3
Stackage Nightly 2020-12-14:0.1.3
Latest on Hackage:0.1.3@rev:1

See all snapshots xls appears in

BSD-3-Clause licensed by Harendra Kumar
Maintained by [email protected]
This version can be pinned in stack with:xls-0.1.3@sha256:b99419f90322b2866ac7c469093473a05024c166a03b0832934ab059e6db944f,3011

Module documentation for 0.1.3

Haskell xls Parsing

Hackage 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.

API

Use decodeXlsIO to get a list of all worksheets. For example to convert all worksheets in an xls file to comma separated csv:

import Data.List (intercalate)
import Data.Xls (decodeXlsIO)

xlsToCSV :: String -> IO ()
xlsToCSV file = do
    worksheets <- decodeXlsIO file
    mapM_ (mapM_ (putStrLn . intercalate ",")) worksheets

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

Under the hood

The library is based on the C library libxls.

See Also

  • xlsior: Streaming Excel (xslx) file generation and parsing
  • xlsx: Excel xslx file parser/writer

Contributing

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

Changes

0.1.3

  • Add IO version of decodeXls function.

0.1.2

  • Upgrade libxls upstream package version from 1.4.0 to 1.5.1

0.1.1

  • Upgrade dependencies

0.1.0

  • Initial release