https://github.com/mebaran/clj-excel.git
git clone 'https://github.com/mebaran/clj-excel.git'
(ql:quickload :mebaran.clj-excel)
The goal is to give you a carefree experience while using Apache POI from Clojure.
Please note that the API isn't stable yet!
Saving and loading data:
(use 'clj-excel.core)
(-> (build-workbook (workbook-hssf) {"Numbers" [[1] [2 3] [4 5 6]]})
(save "numbers.xls"))
(lazy-workbook (workbook-hssf "numbers.xls"))
; {"Numbers" ((1.0) (2.0 3.0) (4.0 5.0 6.0))}
Cell values can be any type supported by POI (boolean
, double
,
String
, Date
, …; see setCellValue(…)).
They may also be maps; this enables styling:
(def a-cell-value
{:value "world" :alignment :center
:border [:none :thin :dashed :thin]
:foreground-color :grey-25-percent :pattern :solid-foreground
:font {:color :blue :underline :single :italic true
:size 12 :font "Arial"}})
(-> (build-workbook (workbook-hssf) {"hello" [[a-cell-value]]})
(save "hello-world.xls"))
Creating links:
;; just the data
{"a" [[{:value "foo" :link-document "b!A1"}]]
"b" [[{:value "example.com" :link-url "http://www.example.com/"}]]}
Creating comments:
{"a" [[{:value "foo" :comment {:text "Lorem Ipsum" :width 4 :height 2}}]]})
Depending on your needs:
Copyright (C) 2012 FIXME
Distributed under the Eclipse Public License, the same as Clojure.