HExcel-0.1.0.0: src/HExcel.hs
-- |
-- Module : HExcel
-- Maintainer : Sasha Bogicevic <sasa.bogicevic@pm.me>
-- Stability : experimental
--
-- Module exports
--
-- Example usage:
--
-- > {-# LANGUAGE TypeApplications #-}
-- > module Main where
-- >
-- > import Control.Monad.Trans.State (execStateT)
-- > import Control.Monad (forM_)
-- > import Data.Time (getZonedTime)
-- > import HExcel
-- >
-- > main :: IO ()
-- > main = do
-- > wb <- workbookNew "test.xlsx"
-- > let props = mkDocProperties
-- > { docPropertiesTitle = "Test Workbook"
-- > , docPropertiesCompany = "HExcel"
-- > }
-- > workbookSetProperties wb props
-- > ws <- workbookAddWorksheet wb "First Sheet"
-- > df <- workbookAddFormat wb
-- > formatSetNumFormat df "mmm d yyyy hh:mm AM/PM"
-- > now <- getZonedTime
-- > -- You can create HExcelState which is convenient api for writing to cells
-- > let initState = HExcelState Nothing ws 4 1 0 1 0
-- > _ <- flip execStateT initState $ do
-- > writeCell "David"
-- > writeCell "Dimitrije"
-- > -- we can skip some rows
-- > skipRows 1
-- > writeCell "Jovana"
-- > -- skip some columns
-- > skipCols 1
-- > writeCell (zonedTimeToDateTime now)
-- > writeCell @Double 42.5
-- >
-- > -- or use functions that run in plain IO
-- > forM_ [5 .. 8] $ \n -> do
-- > writeString ws Nothing n 3 "xxx"
-- > writeNumber ws Nothing n 4 1234.56
-- > writeDateTime ws (Just df) n 5 (zonedTimeToDateTime now)
-- > workbookClose wb
module HExcel
( module HExcel.HExcelInternal
)
where
import HExcel.HExcelInternal