-
-
Save taktoa/b68981ef5c10a92ea48eaa24cbeef9df to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Main where | |
import Codec.Xlsx | |
import Data.Store | |
import qualified Data.ByteString.Lazy as LBS | |
import System.Environment (getArgs) | |
import Orphans | |
main :: IO () | |
main = do | |
[inputFile, outputFile] <- getArgs | |
putStrLn ("Input file: " ++ inputFile) | |
putStrLn ("Output file: " ++ outputFile) | |
xlsx <- toXlsx <$> LBS.readFile inputFile | |
LBS.writeFile outputFile (LBS.fromStrict (encode xlsx)) | |
putStrLn "Finished converting file." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE DeriveGeneric #-} | |
{-# LANGUAGE StandaloneDeriving #-} | |
module Orphans () where | |
import Data.Store | |
import Data.Functor.Contravariant | |
import Data.Text (Text) | |
import qualified Data.ByteString.Lazy as LBS | |
import GHC.Generics (Generic) | |
import Codec.Xlsx | |
import Codec.Xlsx.Types | |
import Unsafe.Coerce (unsafeCoerce) | |
instance Store Xlsx | |
instance Store Worksheet | |
instance Store SheetProtection | |
instance Store Table | |
instance Store TableColumn | |
instance Store PivotTable | |
instance Store DataField | |
instance Store PositionedField | |
instance Store PivotFieldInfo | |
instance Store PivotFieldName | |
instance Store ConsolidateFunction | |
instance Store AutoFilter | |
instance Store FilterColumn | |
instance Store CustomFilter | |
instance Store CustomFilterOperator | |
instance Store DataValidation | |
instance Store ErrorStyle | |
instance Store ValidationType | |
instance Store ValidationExpression | |
instance Store SqRef | |
instance Store CfRule | |
instance Store Condition | |
instance Store TimePeriod | |
instance Store OperatorExpression | |
instance Store PageSetup | |
instance Store PaperSize | |
instance Store PageOrder | |
instance Store Orientation | |
instance Store PrintErrors | |
instance Store CellComments | |
instance Store SheetView | |
instance Store Pane | |
instance Store PaneType | |
instance Store PaneState | |
instance Store Selection | |
instance Store SheetViewType | |
instance Store Chart | |
instance Store ChartSpace | |
instance Store ChartTitle | |
instance Store LineSeries | |
instance Store Series | |
instance Store DataMarker | |
instance Store DataMarkerSymbol | |
instance Store DataLblProps | |
instance Store Legend | |
instance Store LegendPos | |
instance Store TextBody | |
instance Store TextWrap | |
instance Store TextRun | |
instance Store TextAnchoring | |
instance Store TextParagraph | |
instance Store TextVertical | |
instance Store TextVertOverflow | |
instance Store TextCharacterProperties | |
instance Store DispBlanksAs | |
instance Store ChartGrouping | |
instance Store Cell | |
instance Store CellRef | |
instance Store CellValue | |
instance Store CellFormula | |
instance Store Formula | |
instance Store RichTextRun | |
instance Store RunProperties | |
instance Store Color | |
instance Store FontFamily | |
instance Store FontScheme | |
instance Store FontUnderline | |
instance Store FontVerticalAlignment | |
instance Store Comment | |
instance Store XlsxText | |
instance Store FileInfo | |
instance Store Styles | |
instance Store DefinedNames | |
instance Store Variant | |
instance Store ColumnsWidth | |
instance Store RowProperties | |
instance (Store p, Store g) => Store (GenericDrawing p g) | |
instance (Store p, Store g) => Store (Anchor p g) | |
instance (Store p, Store g) => Store (DrawingObject p g) | |
instance (Store p) => Store (BlipFillProperties p) | |
instance Store PicNonVisual | |
instance Store GraphNonVisual | |
instance Store ShapeProperties | |
instance Store Transform2D | |
instance Store FillProperties | |
instance Store LineProperties | |
instance Store FillMode | |
instance Store NonVisualDrawingProperties | |
instance Store DrawingElementId | |
instance Store Geometry | |
instance Store Angle | |
instance Store Anchoring | |
instance Store ClientData | |
instance Store Point2D | |
instance Store Coordinate | |
instance Store PositiveSize2D | |
instance Store Marker | |
instance Store EditAs | |
instance Store UnitIdentifier | |
instance Store PositiveCoordinate | |
deriving instance Generic Xlsx | |
deriving instance Generic Worksheet | |
deriving instance Generic SheetProtection | |
deriving instance Generic Table | |
deriving instance Generic TableColumn | |
deriving instance Generic PivotTable | |
deriving instance Generic DataField | |
deriving instance Generic PositionedField | |
deriving instance Generic PivotFieldInfo | |
deriving instance Generic PivotFieldName | |
deriving instance Generic ConsolidateFunction | |
deriving instance Generic AutoFilter | |
deriving instance Generic FilterColumn | |
deriving instance Generic CustomFilter | |
deriving instance Generic CustomFilterOperator | |
deriving instance Generic DataValidation | |
deriving instance Generic ErrorStyle | |
deriving instance Generic ValidationType | |
deriving instance Generic ValidationExpression | |
deriving instance Generic SqRef | |
deriving instance Generic CfRule | |
deriving instance Generic Condition | |
deriving instance Generic TimePeriod | |
deriving instance Generic OperatorExpression | |
deriving instance Generic PageSetup | |
deriving instance Generic PaperSize | |
deriving instance Generic PageOrder | |
deriving instance Generic Orientation | |
deriving instance Generic PrintErrors | |
deriving instance Generic CellComments | |
deriving instance Generic SheetView | |
deriving instance Generic Pane | |
deriving instance Generic PaneType | |
deriving instance Generic PaneState | |
deriving instance Generic Selection | |
deriving instance Generic SheetViewType | |
deriving instance Generic Chart | |
deriving instance Generic ChartSpace | |
deriving instance Generic ChartTitle | |
deriving instance Generic LineSeries | |
deriving instance Generic Series | |
deriving instance Generic DataMarker | |
deriving instance Generic DataMarkerSymbol | |
deriving instance Generic DataLblProps | |
deriving instance Generic Legend | |
deriving instance Generic LegendPos | |
deriving instance Generic TextBody | |
deriving instance Generic TextWrap | |
deriving instance Generic TextRun | |
deriving instance Generic TextAnchoring | |
deriving instance Generic TextParagraph | |
deriving instance Generic TextVertical | |
deriving instance Generic TextVertOverflow | |
deriving instance Generic TextCharacterProperties | |
deriving instance Generic DispBlanksAs | |
deriving instance Generic ChartGrouping | |
deriving instance Generic Cell | |
deriving instance Generic CellRef | |
deriving instance Generic CellValue | |
deriving instance Generic CellFormula | |
deriving instance Generic Formula | |
deriving instance Generic RichTextRun | |
deriving instance Generic RunProperties | |
deriving instance Generic Color | |
deriving instance Generic FontFamily | |
deriving instance Generic FontScheme | |
deriving instance Generic FontUnderline | |
deriving instance Generic FontVerticalAlignment | |
deriving instance Generic Comment | |
deriving instance Generic XlsxText | |
deriving instance Generic FileInfo | |
deriving instance Generic Styles | |
deriving instance Generic DefinedNames | |
deriving instance Generic Variant | |
deriving instance Generic ColumnsWidth | |
deriving instance Generic RowProperties | |
deriving instance Generic (GenericDrawing p g) | |
deriving instance Generic (Anchor p g) | |
deriving instance Generic (DrawingObject p g) | |
deriving instance Generic (BlipFillProperties p) | |
deriving instance Generic PicNonVisual | |
deriving instance Generic GraphNonVisual | |
deriving instance Generic ShapeProperties | |
deriving instance Generic Transform2D | |
deriving instance Generic FillProperties | |
deriving instance Generic LineProperties | |
deriving instance Generic FillMode | |
deriving instance Generic NonVisualDrawingProperties | |
deriving instance Generic DrawingElementId | |
deriving instance Generic Geometry | |
deriving instance Generic Angle | |
deriving instance Generic Anchoring | |
deriving instance Generic ClientData | |
deriving instance Generic Point2D | |
deriving instance Generic Coordinate | |
deriving instance Generic PositiveSize2D | |
deriving instance Generic Marker | |
deriving instance Generic EditAs | |
deriving instance Generic UnitIdentifier | |
deriving instance Generic PositiveCoordinate | |
toLegacyPassword :: Text -> LegacyPassword | |
toLegacyPassword = unsafeCoerce | |
fromLegacyPassword :: LegacyPassword -> Text | |
fromLegacyPassword = unsafeCoerce | |
instance Store LegacyPassword where | |
size = contramap fromLegacyPassword size | |
poke = poke . fromLegacyPassword | |
peek = fmap toLegacyPassword peek |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment