This is a fork from out-pace/clj-excel created for use with the grafter ETL framework. We added support for coercing numbers when reading workbooks such that the value matches the GUI representation (not the underlying excel storage format which is always a double).
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:
Distributed under the Eclipse Public License, the same as Clojure.
Can you improve this documentation? These fine people already did:
tok, Robin Gower, Jake McCrary & Paul StadigEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close