quickinteg 2.5.0__tar.gz → 2.8.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {quickinteg-2.5.0/quickinteg.egg-info → quickinteg-2.8.2}/PKG-INFO +1 -1
- {quickinteg-2.5.0 → quickinteg-2.8.2}/pyproject.toml +2 -2
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/__about__.py +2 -4
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/cli.py +28 -12
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/excel_shortcut.py +7 -8
- quickinteg-2.8.2/quickinteg/external/XlsxWriter-3.1.9.dist-info/INSTALLER +1 -0
- quickinteg-2.8.2/quickinteg/external/XlsxWriter-3.1.9.dist-info/LICENSE.txt +25 -0
- quickinteg-2.8.2/quickinteg/external/XlsxWriter-3.1.9.dist-info/METADATA +89 -0
- quickinteg-2.8.2/quickinteg/external/XlsxWriter-3.1.9.dist-info/RECORD +41 -0
- quickinteg-2.8.2/quickinteg/external/XlsxWriter-3.1.9.dist-info/WHEEL +5 -0
- quickinteg-2.8.2/quickinteg/external/XlsxWriter-3.1.9.dist-info/top_level.txt +1 -0
- quickinteg-2.8.2/quickinteg/external/__init__.py +0 -0
- quickinteg-2.8.2/quickinteg/external/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/__pycache__/__init__.cpython-313.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/__pycache__/__init__.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/bin/vba_extract.py +78 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/__init__.py +19 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/__pycache__/__init__.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/__pycache__/_constants.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/_constants.py +13 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/__init__.py +4 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/__pycache__/_writer.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/__pycache__/cell.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/__pycache__/read_only.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/__pycache__/rich_text.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/__pycache__/text.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/_writer.py +158 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/cell.py +332 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/read_only.py +136 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/rich_text.py +167 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/cell/text.py +184 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/_3d.py +105 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__init__.py +19 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/_3d.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/area_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/axis.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/bar_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/bubble_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/chartspace.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/data_source.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/descriptors.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/error_bar.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/label.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/layout.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/legend.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/line_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/marker.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/picture.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/pie_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/pivot.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/plotarea.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/print_settings.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/radar_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/reader.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/reference.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/scatter_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/series.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/series_factory.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/shapes.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/stock_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/surface_chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/text.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/title.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/trendline.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/__pycache__/updown_bars.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/_chart.py +199 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/area_chart.py +106 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/axis.py +401 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/bar_chart.py +144 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/bubble_chart.py +67 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/chartspace.py +195 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/data_source.py +246 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/descriptors.py +43 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/error_bar.py +62 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/label.py +127 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/layout.py +74 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/legend.py +75 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/line_chart.py +129 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/marker.py +90 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/picture.py +35 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/pie_chart.py +177 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/pivot.py +65 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/plotarea.py +162 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/print_settings.py +57 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/radar_chart.py +55 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/reader.py +32 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/reference.py +124 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/scatter_chart.py +53 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/series.py +197 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/series_factory.py +41 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/shapes.py +89 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/stock_chart.py +54 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/surface_chart.py +119 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/text.py +78 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/title.py +76 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/trendline.py +98 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chart/updown_bars.py +31 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__init__.py +3 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__pycache__/chartsheet.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__pycache__/custom.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__pycache__/properties.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__pycache__/protection.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__pycache__/publish.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__pycache__/relation.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/__pycache__/views.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/chartsheet.py +107 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/custom.py +61 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/properties.py +28 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/protection.py +41 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/publish.py +58 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/relation.py +97 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/chartsheet/views.py +51 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/__init__.py +4 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/__pycache__/author.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/__pycache__/comment_sheet.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/__pycache__/comments.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/__pycache__/shape_writer.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/author.py +21 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/comment_sheet.py +211 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/comments.py +62 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/comments/shape_writer.py +112 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/__init__.py +54 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/__pycache__/numbers.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/__pycache__/strings.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/abc.py +8 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/numbers.py +43 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/product.py +17 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/singleton.py +40 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/compat/strings.py +25 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/__init__.py +58 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/__pycache__/base.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/__pycache__/excel.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/__pycache__/namespace.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/__pycache__/nested.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/__pycache__/sequence.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/__pycache__/serialisable.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/base.py +272 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/excel.py +112 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/namespace.py +12 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/nested.py +131 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/sequence.py +136 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/serialisable.py +240 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/descriptors/slots.py +18 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__init__.py +4 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/colors.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/connector.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/drawing.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/effect.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/fill.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/geometry.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/graphic.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/image.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/line.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/picture.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/properties.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/relation.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/spreadsheet_drawing.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/text.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/__pycache__/xdr.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/colors.py +435 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/connector.py +144 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/drawing.py +92 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/effect.py +407 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/fill.py +425 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/geometry.py +584 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/graphic.py +177 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/image.py +65 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/line.py +144 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/picture.py +144 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/properties.py +174 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/relation.py +17 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/spreadsheet_drawing.py +381 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/text.py +717 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/drawing/xdr.py +33 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formatting/__init__.py +3 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formatting/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formatting/__pycache__/formatting.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formatting/__pycache__/rule.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formatting/formatting.py +114 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formatting/rule.py +291 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formula/__init__.py +3 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formula/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formula/__pycache__/tokenizer.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formula/__pycache__/translate.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formula/tokenizer.py +446 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/formula/translate.py +166 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/__init__.py +3 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/__pycache__/core.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/__pycache__/custom.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/__pycache__/extended.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/__pycache__/manifest.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/__pycache__/relationship.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/__pycache__/workbook.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/core.py +114 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/custom.py +286 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/extended.py +141 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/interface.py +56 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/manifest.py +194 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/relationship.py +171 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/packaging/workbook.py +185 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/__init__.py +1 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/__pycache__/cache.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/__pycache__/fields.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/__pycache__/record.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/__pycache__/table.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/cache.py +1119 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/fields.py +322 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/record.py +111 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/pivot/table.py +1261 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/__init__.py +1 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/__pycache__/drawings.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/__pycache__/excel.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/__pycache__/strings.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/__pycache__/workbook.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/drawings.py +67 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/excel.py +347 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/strings.py +44 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/reader/workbook.py +133 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__init__.py +11 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/alignment.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/borders.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/builtins.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/cell_style.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/colors.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/differential.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/fills.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/fonts.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/named_styles.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/numbers.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/protection.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/proxy.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/styleable.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/stylesheet.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/__pycache__/table.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/alignment.py +72 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/borders.py +113 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/builtins.py +1397 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/cell_style.py +202 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/colors.py +172 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/differential.py +95 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/fills.py +224 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/fonts.py +113 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/named_styles.py +291 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/numbers.py +200 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/protection.py +17 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/proxy.py +62 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/styleable.py +152 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/stylesheet.py +263 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/styles/table.py +94 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__init__.py +17 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/bound_dictionary.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/cell.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/datetime.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/escape.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/exceptions.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/formulas.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/indexed_list.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/protection.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/__pycache__/units.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/bound_dictionary.py +26 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/cell.py +227 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/dataframe.py +87 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/datetime.py +140 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/escape.py +43 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/exceptions.py +34 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/formulas.py +24 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/indexed_list.py +49 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/inference.py +60 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/protection.py +22 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/utils/units.py +108 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__init__.py +4 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/_writer.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/child.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/defined_name.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/external_reference.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/function_group.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/properties.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/protection.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/smart_tags.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/views.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/web.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/__pycache__/workbook.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/_writer.py +197 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/child.py +166 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/defined_name.py +189 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/external_link/__init__.py +3 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/external_link/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/external_link/__pycache__/external.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/external_link/external.py +190 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/external_reference.py +18 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/function_group.py +36 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/properties.py +151 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/protection.py +163 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/smart_tags.py +56 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/views.py +155 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/web.py +98 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/workbook/workbook.py +438 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__init__.py +1 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/_read_only.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/_reader.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/_write_only.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/_writer.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/cell_range.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/copier.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/datavalidation.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/dimensions.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/drawing.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/filters.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/formula.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/header_footer.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/hyperlink.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/merge.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/page.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/pagebreak.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/print_settings.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/properties.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/protection.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/related.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/scenario.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/table.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/views.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/__pycache__/worksheet.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/_read_only.py +188 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/_reader.py +472 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/_write_only.py +160 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/_writer.py +390 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/cell_range.py +512 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/cell_watch.py +34 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/controls.py +107 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/copier.py +70 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/custom.py +35 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/datavalidation.py +202 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/dimensions.py +296 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/drawing.py +14 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/errors.py +93 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/filters.py +387 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/formula.py +51 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/header_footer.py +270 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/hyperlink.py +61 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/merge.py +141 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/ole.py +133 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/page.py +174 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/pagebreak.py +94 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/picture.py +8 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/print_settings.py +184 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/properties.py +97 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/protection.py +120 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/related.py +17 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/scenario.py +105 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/smart_tag.py +78 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/table.py +385 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/views.py +149 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/worksheet/worksheet.py +904 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/writer/__init__.py +1 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/writer/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/writer/__pycache__/excel.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/writer/__pycache__/theme.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/writer/excel.py +295 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/writer/theme.py +291 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/xml/__init__.py +42 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/xml/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/xml/__pycache__/constants.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/xml/__pycache__/functions.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/xml/constants.py +129 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl/xml/functions.py +87 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl-3.1.2.dist-info/INSTALLER +1 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl-3.1.2.dist-info/LICENCE.rst +23 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl-3.1.2.dist-info/METADATA +86 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl-3.1.2.dist-info/RECORD +196 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl-3.1.2.dist-info/REQUESTED +0 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl-3.1.2.dist-info/WHEEL +6 -0
- quickinteg-2.8.2/quickinteg/external/openpyxl-3.1.2.dist-info/top_level.txt +1 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__init__.py +7 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/__init__.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/__init__.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/app.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/app.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_area.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_area.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_bar.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_bar.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_column.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_column.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_doughnut.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_doughnut.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_line.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_line.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_pie.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_pie.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_radar.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_radar.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_scatter.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_scatter.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_stock.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chart_stock.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chartsheet.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/chartsheet.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/comments.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/comments.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/contenttypes.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/contenttypes.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/core.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/core.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/custom.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/custom.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/drawing.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/drawing.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/exceptions.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/exceptions.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/format.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/format.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/metadata.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/metadata.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/packager.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/packager.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/relationships.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/relationships.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/shape.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/shape.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/sharedstrings.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/sharedstrings.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/styles.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/styles.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/table.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/table.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/theme.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/theme.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/utility.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/utility.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/vml.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/vml.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/workbook.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/workbook.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/worksheet.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/worksheet.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/xmlwriter.cpython-312.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/__pycache__/xmlwriter.cpython-314.pyc +0 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/app.py +198 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart.py +4386 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_area.py +101 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_bar.py +173 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_column.py +132 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_doughnut.py +99 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_line.py +143 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_pie.py +260 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_radar.py +102 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_scatter.py +333 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chart_stock.py +124 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/chartsheet.py +196 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/comments.py +209 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/contenttypes.py +231 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/core.py +205 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/custom.py +141 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/drawing.py +1204 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/exceptions.py +55 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/format.py +1030 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/metadata.py +170 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/packager.py +774 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/relationships.py +115 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/shape.py +414 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/sharedstrings.py +158 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/styles.py +754 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/table.py +193 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/theme.py +66 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/utility.py +875 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/vml.py +720 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/workbook.py +1999 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/worksheet.py +8408 -0
- quickinteg-2.8.2/quickinteg/external/xlsxwriter/xmlwriter.py +206 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/mcd_check.py +32 -61
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/processing_logging.py +2 -4
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/rop_grace.py +10 -10
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/spatialiteio.py +315 -100
- {quickinteg-2.5.0 → quickinteg-2.8.2/quickinteg.egg-info}/PKG-INFO +1 -1
- quickinteg-2.8.2/quickinteg.egg-info/SOURCES.txt +502 -0
- quickinteg-2.5.0/quickinteg.egg-info/SOURCES.txt +0 -20
- {quickinteg-2.5.0 → quickinteg-2.8.2}/LICENSE +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/README.md +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/__init__.py +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg/cfg_reader.py +0 -0
- /quickinteg-2.5.0/quickinteg/external/__init__.py → /quickinteg-2.8.2/quickinteg/external/XlsxWriter-3.1.9.dist-info/REQUESTED +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg.egg-info/dependency_links.txt +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg.egg-info/entry_points.txt +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg.egg-info/requires.txt +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/quickinteg.egg-info/top_level.txt +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/setup.cfg +0 -0
- {quickinteg-2.5.0 → quickinteg-2.8.2}/setup.py +0 -0
|
@@ -56,12 +56,12 @@ quickinteg = ["external/**/*"]
|
|
|
56
56
|
|
|
57
57
|
# --- Ruff (remplace black, flake8, isort) ---
|
|
58
58
|
[tool.ruff]
|
|
59
|
-
line-length =
|
|
59
|
+
line-length = 160
|
|
60
60
|
target-version = "py39"
|
|
61
61
|
|
|
62
62
|
[tool.ruff.lint]
|
|
63
63
|
select = ["E", "F", "I", "UP"]
|
|
64
|
-
ignore = []
|
|
64
|
+
ignore = ["UP031", "UP022", "E722", "E402"]
|
|
65
65
|
|
|
66
66
|
# --- Basedpyright (type checking) ---
|
|
67
67
|
[tool.basedpyright]
|
|
@@ -28,7 +28,5 @@ __title__ = "QuickInteg"
|
|
|
28
28
|
__title_clean__ = "".join(e for e in __title__ if e.isalnum())
|
|
29
29
|
__uri__ = "https://gitlab.com/vlebert/quickinteg/"
|
|
30
30
|
|
|
31
|
-
__version__ = "2.
|
|
32
|
-
__version_info__ = tuple(
|
|
33
|
-
[int(num) if num.isdigit() else num for num in __version__.replace("-", ".", 1).split(".")]
|
|
34
|
-
)
|
|
31
|
+
__version__ = "2.8.2"
|
|
32
|
+
__version_info__ = tuple([int(num) if num.isdigit() else num for num in __version__.replace("-", ".", 1).split(".")])
|
|
@@ -53,7 +53,7 @@ def quickinteg_import():
|
|
|
53
53
|
Alias : qi-import
|
|
54
54
|
"""
|
|
55
55
|
parser = argparse.ArgumentParser()
|
|
56
|
-
parser.add_argument("source", help="Chemin vers le
|
|
56
|
+
parser.add_argument("source", help="Chemin vers le dossier à intégrer ou fichier GPKG")
|
|
57
57
|
parser.add_argument("-c", "--no-csv", help="Exclure les fichiers CSV", action="store_true")
|
|
58
58
|
parser.add_argument(
|
|
59
59
|
"-d",
|
|
@@ -74,23 +74,41 @@ def quickinteg_import():
|
|
|
74
74
|
help="Mode récursif (parcours les sous-dossiers).",
|
|
75
75
|
action="store_true",
|
|
76
76
|
)
|
|
77
|
+
|
|
77
78
|
args = parser.parse_args()
|
|
78
79
|
processing_logging.add_console_handler(logging.getLogger(""))
|
|
79
80
|
|
|
81
|
+
# Auto-detect if source is a GPKG file or folder
|
|
82
|
+
source_path = Path(args.source)
|
|
83
|
+
is_gpkg = source_path.suffix.lower() == ".gpkg"
|
|
84
|
+
|
|
80
85
|
if args.destination:
|
|
81
86
|
log_file = Path(args.destination).parent / "log_integ.txt"
|
|
87
|
+
elif is_gpkg:
|
|
88
|
+
log_file = Path(args.source).parent / "log_integ.txt"
|
|
82
89
|
else:
|
|
83
90
|
log_file = Path(args.source) / "log_integ.txt"
|
|
84
91
|
processing_logging.add_file_handler(logging.getLogger(""), log_file, logging.DEBUG)
|
|
85
92
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
if is_gpkg:
|
|
94
|
+
# Direct GPKG import
|
|
95
|
+
processing_logging.log("Import direct d'un fichier GPKG", logging.getLogger(""), "info")
|
|
96
|
+
spatialiteio.import_gpkg_to_spl(
|
|
97
|
+
args.source,
|
|
98
|
+
ogr_target=args.destination,
|
|
99
|
+
prefix=args.prefix,
|
|
100
|
+
ignore_grace_list=True,
|
|
101
|
+
)
|
|
102
|
+
else:
|
|
103
|
+
# Folder import (which can also contain GPKG files)
|
|
104
|
+
spatialiteio.import_folder_to_spl(
|
|
105
|
+
args.source,
|
|
106
|
+
ogr_target=args.destination,
|
|
107
|
+
prefix=args.prefix,
|
|
108
|
+
include_csv=(not args.no_csv),
|
|
109
|
+
ignore_grace_list=True,
|
|
110
|
+
recursive=args.recursive,
|
|
111
|
+
)
|
|
94
112
|
if args.export:
|
|
95
113
|
spatialiteio.export_preset_tables(args.destination)
|
|
96
114
|
|
|
@@ -101,9 +119,7 @@ def quickinteg_rop():
|
|
|
101
119
|
"""
|
|
102
120
|
parser = argparse.ArgumentParser()
|
|
103
121
|
parser.add_argument("db_file", help="Base de donnée Quickinteg")
|
|
104
|
-
parser.add_argument(
|
|
105
|
-
"-v", "--version", help="Version GRACE THD (2 ou 3, 3 par défaut)", default=3
|
|
106
|
-
)
|
|
122
|
+
parser.add_argument("-v", "--version", help="Version GRACE THD (2 ou 3, 3 par défaut)", default=3)
|
|
107
123
|
parser.add_argument(
|
|
108
124
|
"-m",
|
|
109
125
|
"--mode",
|
|
@@ -26,9 +26,9 @@ import logging
|
|
|
26
26
|
|
|
27
27
|
# 3rd party - try embedded first (for QGIS), fallback to normal import (for CLI)
|
|
28
28
|
try:
|
|
29
|
-
from .external import openpyxl
|
|
29
|
+
from .external import openpyxl # type: ignore
|
|
30
30
|
except ImportError:
|
|
31
|
-
import openpyxl
|
|
31
|
+
import openpyxl # type: ignore
|
|
32
32
|
|
|
33
33
|
# package
|
|
34
34
|
from . import processing_logging
|
|
@@ -56,9 +56,7 @@ def log(message: str, logLevel: str = "info"):
|
|
|
56
56
|
processing_logging.log(message, module_logger, logLevel)
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
def read_sheet_to_dict(
|
|
60
|
-
excel_file_path, list_necessary_columns, primary_key=None, excel_sheet_name=None
|
|
61
|
-
):
|
|
59
|
+
def read_sheet_to_dict(excel_file_path, list_necessary_columns, primary_key=None, excel_sheet_name=None):
|
|
62
60
|
"""
|
|
63
61
|
Lecture d'un fichier excel vert un dict de dict.
|
|
64
62
|
Chaque ligne est un dict avec comme clés les en-têtes de colones.
|
|
@@ -90,6 +88,9 @@ def read_sheet_to_dict(
|
|
|
90
88
|
wb = openpyxl.load_workbook(excel_file_path, data_only=True)
|
|
91
89
|
sheet = wb[excel_sheet_name] if excel_sheet_name else wb.active
|
|
92
90
|
|
|
91
|
+
if sheet is None:
|
|
92
|
+
raise ValueError("No active sheet found in the Excel workbook")
|
|
93
|
+
|
|
93
94
|
rows = sheet.iter_rows(values_only=True)
|
|
94
95
|
headers = next(rows) # Get the first row with column names
|
|
95
96
|
header_set = set(headers)
|
|
@@ -97,9 +98,7 @@ def read_sheet_to_dict(
|
|
|
97
98
|
necessary_columns_set = set(list_necessary_columns)
|
|
98
99
|
if not necessary_columns_set.issubset(header_set):
|
|
99
100
|
missing_columns = necessary_columns_set - header_set
|
|
100
|
-
raise ValueError(
|
|
101
|
-
f"The necessary columns {missing_columns} were not found in the Excel sheet"
|
|
102
|
-
)
|
|
101
|
+
raise ValueError(f"The necessary columns {missing_columns} were not found in the Excel sheet")
|
|
103
102
|
|
|
104
103
|
header_index = {header: headers.index(header) for header in list_necessary_columns}
|
|
105
104
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
uv
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
BSD 2-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2013-2023, John McNamara <jmcnamara@cpan.org>
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
|
8
|
+
|
|
9
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
10
|
+
list of conditions and the following disclaimer.
|
|
11
|
+
|
|
12
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
and/or other materials provided with the distribution.
|
|
15
|
+
|
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
17
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
18
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
19
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
20
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
21
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
22
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
23
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
24
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
25
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: XlsxWriter
|
|
3
|
+
Version: 3.1.9
|
|
4
|
+
Summary: A Python module for creating Excel XLSX files.
|
|
5
|
+
Home-page: https://github.com/jmcnamara/XlsxWriter
|
|
6
|
+
Author: John McNamara
|
|
7
|
+
Author-email: jmcnamara@cpan.org
|
|
8
|
+
License: BSD-2-Clause
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Requires-Python: >=3.6
|
|
22
|
+
License-File: LICENSE.txt
|
|
23
|
+
|
|
24
|
+
XlsxWriter
|
|
25
|
+
==========
|
|
26
|
+
|
|
27
|
+
**XlsxWriter** is a Python module for writing files in the Excel 2007+ XLSX
|
|
28
|
+
file format.
|
|
29
|
+
|
|
30
|
+
XlsxWriter can be used to write text, numbers, formulas and hyperlinks to
|
|
31
|
+
multiple worksheets and it supports features such as formatting and many more,
|
|
32
|
+
including:
|
|
33
|
+
|
|
34
|
+
* 100% compatible Excel XLSX files.
|
|
35
|
+
* Full formatting.
|
|
36
|
+
* Merged cells.
|
|
37
|
+
* Defined names.
|
|
38
|
+
* Charts.
|
|
39
|
+
* Autofilters.
|
|
40
|
+
* Data validation and drop down lists.
|
|
41
|
+
* Conditional formatting.
|
|
42
|
+
* Worksheet PNG/JPEG/GIF/BMP/WMF/EMF images.
|
|
43
|
+
* Rich multi-format strings.
|
|
44
|
+
* Cell comments.
|
|
45
|
+
* Integration with Pandas and Polars.
|
|
46
|
+
* Textboxes.
|
|
47
|
+
* Support for adding Macros.
|
|
48
|
+
* Memory optimization mode for writing large files.
|
|
49
|
+
|
|
50
|
+
It supports Python 3.4+ and PyPy3 and uses standard libraries only.
|
|
51
|
+
|
|
52
|
+
Here is a simple example:
|
|
53
|
+
|
|
54
|
+
.. code-block:: python
|
|
55
|
+
|
|
56
|
+
import xlsxwriter
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
# Create an new Excel file and add a worksheet.
|
|
60
|
+
workbook = xlsxwriter.Workbook('demo.xlsx')
|
|
61
|
+
worksheet = workbook.add_worksheet()
|
|
62
|
+
|
|
63
|
+
# Widen the first column to make the text clearer.
|
|
64
|
+
worksheet.set_column('A:A', 20)
|
|
65
|
+
|
|
66
|
+
# Add a bold format to use to highlight cells.
|
|
67
|
+
bold = workbook.add_format({'bold': True})
|
|
68
|
+
|
|
69
|
+
# Write some simple text.
|
|
70
|
+
worksheet.write('A1', 'Hello')
|
|
71
|
+
|
|
72
|
+
# Text with formatting.
|
|
73
|
+
worksheet.write('A2', 'World', bold)
|
|
74
|
+
|
|
75
|
+
# Write some numbers, with row/column notation.
|
|
76
|
+
worksheet.write(2, 0, 123)
|
|
77
|
+
worksheet.write(3, 0, 123.456)
|
|
78
|
+
|
|
79
|
+
# Insert an image.
|
|
80
|
+
worksheet.insert_image('B5', 'logo.png')
|
|
81
|
+
|
|
82
|
+
workbook.close()
|
|
83
|
+
|
|
84
|
+
.. image:: https://raw.github.com/jmcnamara/XlsxWriter/master/dev/docs/source/_images/demo.png
|
|
85
|
+
|
|
86
|
+
See the full documentation at: https://xlsxwriter.readthedocs.io
|
|
87
|
+
|
|
88
|
+
Release notes: https://xlsxwriter.readthedocs.io/changes.html
|
|
89
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
XlsxWriter-3.1.9.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
|
|
2
|
+
XlsxWriter-3.1.9.dist-info/LICENSE.txt,sha256=s7SUx-dFba0SrBs-YcYOhQ1g086GX6BWxM4K5oDANnc,1349
|
|
3
|
+
XlsxWriter-3.1.9.dist-info/METADATA,sha256=G4jA0at0iwYM-mYfTCGrJauIckhzZyfjCohiqnZsyjw,2605
|
|
4
|
+
XlsxWriter-3.1.9.dist-info/RECORD,,
|
|
5
|
+
XlsxWriter-3.1.9.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
+
XlsxWriter-3.1.9.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
7
|
+
XlsxWriter-3.1.9.dist-info/top_level.txt,sha256=xFEUcpcY7QzAr_-ztkXebEt1FZCxpuCbmyCsBaevhRk,11
|
|
8
|
+
bin/vba_extract.py,sha256=8T2-KE4ybgM5FRIT3DAqpLUsnp09_lpTI2H6izwL6UI,2363
|
|
9
|
+
xlsxwriter/__init__.py,sha256=XY1Ui-gKJHKbrOCvEM3Tasme1ypd2fLNTliBS94fhoM,188
|
|
10
|
+
xlsxwriter/app.py,sha256=IyZO4nAFO5DgYdOKgyGkqTgA8_E1DCyEUdcnNn9ruhw,5823
|
|
11
|
+
xlsxwriter/chart.py,sha256=1OsUMYpNWTXAWs0RLdgcQWsR8njqCw2Gwna5AQEzHu4,129910
|
|
12
|
+
xlsxwriter/chart_area.py,sha256=UfbG_WCQMZuUtMz-0IWoZbjyyr78A5zfB05keo01OGs,2676
|
|
13
|
+
xlsxwriter/chart_bar.py,sha256=QLJDAZRLN90FttiwDspq2Bav8JsmvTUl-YqYKFctFcw,4828
|
|
14
|
+
xlsxwriter/chart_column.py,sha256=WtwgL67_5-eGymVGY8BS9oGwf9NfxL3sgR5nUIr3HIc,3579
|
|
15
|
+
xlsxwriter/chart_doughnut.py,sha256=mF2VSJd-kEJWBvCGWpNJcGNxTwOlA_0ebGdco6_mM9Y,2690
|
|
16
|
+
xlsxwriter/chart_line.py,sha256=nwH5SO15bPMiHXYAYR0r89kRhHbtqlZNfTgBjjeKIoU,3757
|
|
17
|
+
xlsxwriter/chart_pie.py,sha256=5G2cidb2TjxWBkw0GvqjLQx0ckXkibQOZX-sLFr1Xe4,7402
|
|
18
|
+
xlsxwriter/chart_radar.py,sha256=pDCA4UMNqDMv1osNjS1Fxkn8y64cADf5p4QRuteYAhI,2739
|
|
19
|
+
xlsxwriter/chart_scatter.py,sha256=2PEoXQb4saXg0EGhLqiKr7Ywx5AE9Y5IXENZWjDGV0A,9488
|
|
20
|
+
xlsxwriter/chart_stock.py,sha256=DEfp3z6tgPgN8sxQZT9tCnRoWWXhx7lFcJN1tRDEBPI,3524
|
|
21
|
+
xlsxwriter/chartsheet.py,sha256=U9uLjqWwnVet5FXc2C3Vh5K1t9giUOi9XGHnhF-EXUc,5468
|
|
22
|
+
xlsxwriter/comments.py,sha256=5TDtd1Lna6b73VaOXxe5-aaBherzq3NlzaY7Fnc2LB0,5598
|
|
23
|
+
xlsxwriter/contenttypes.py,sha256=uQPBUkJ10M8AYeo2Onsxk24pERIln6kHRT8ZFsqFWso,7559
|
|
24
|
+
xlsxwriter/core.py,sha256=oBlObKPWQm6tCqmRMXulUIrAfmK8daUMJjPXuP-FOks,5693
|
|
25
|
+
xlsxwriter/custom.py,sha256=kKZeN_fCWXzhaTJTPNm4TshkPsRd0EPwNFt8uaKrP4I,3829
|
|
26
|
+
xlsxwriter/drawing.py,sha256=cZowp8iisUW_TeYAl8he7KYYMd3lWl1DGQPWJiGbv7Y,35058
|
|
27
|
+
xlsxwriter/exceptions.py,sha256=0ajRMYlTlqKZwXz8oIkV02Ho1SpQsQWX4XNghxdT_Kk,1394
|
|
28
|
+
xlsxwriter/format.py,sha256=o3Bd8RtQm00OvuQdTOCnOljk_gzxuXcNCzV9dIyvwyo,26767
|
|
29
|
+
xlsxwriter/metadata.py,sha256=VEZzY6SrKMVG2--9sBIWZ8_Qu-aX1XoTVGyaYtVw4_I,4522
|
|
30
|
+
xlsxwriter/packager.py,sha256=GIttn1Yu0hK9f_N3hRZOC1vEnwKBrvGXUkY8c_ZU5n8,25872
|
|
31
|
+
xlsxwriter/relationships.py,sha256=epB-fg5_3XOddV9NMGdf4Ydvy1DdfgcEcaiqeKRKQ_8,3274
|
|
32
|
+
xlsxwriter/shape.py,sha256=JmTBe1OGY4OwTgm7cGpI-9K0AXA2zSZjaQT2zilenls,12830
|
|
33
|
+
xlsxwriter/sharedstrings.py,sha256=ja61sulwo_FYl6_1QwtM0Hk6PZ1NYzAxbxiStnnSuxo,4731
|
|
34
|
+
xlsxwriter/styles.py,sha256=c3CZ56BztLYLprdBFDLMpnWO2WpP3Ka3kilUO5dA_7c,23162
|
|
35
|
+
xlsxwriter/table.py,sha256=bJDGlAdtrxMIIA98BEAlkRipfvYB9xpp0ZaF007WEJQ,5843
|
|
36
|
+
xlsxwriter/theme.py,sha256=PE22WMb6y1QXu9rE9fDv-ay8PYOLxO_tmGPHsUuHrc4,8844
|
|
37
|
+
xlsxwriter/utility.py,sha256=w4QF9QyBfmAPrhpbBgdB4JRgJFBWpRbivkQ_Tgpu3Iw,28447
|
|
38
|
+
xlsxwriter/vml.py,sha256=Rf-dhI1hkRuOLP0aQs0KWWMU2MWUtRMgoiX82J-qJ1g,19651
|
|
39
|
+
xlsxwriter/workbook.py,sha256=0Of1rPZI_TQoKKjVu6806dtS3kNEuqxjLKz4uaPOqgM,65911
|
|
40
|
+
xlsxwriter/worksheet.py,sha256=Gn-uHJ-kbgxvmWIeYyc1RN7apFDEyqfGjJ8mvP6GEt8,285655
|
|
41
|
+
xlsxwriter/xmlwriter.py,sha256=wuxTQAIKuLY-XpPzDRiDRGeLY6GUxIti-igfbMwm74w,6723
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
xlsxwriter
|
|
File without changes
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/Users/vlebert/Python/quickinteg/.venv/bin/python3
|
|
2
|
+
|
|
3
|
+
##############################################################################
|
|
4
|
+
#
|
|
5
|
+
# vba_extract - A simple utility to extract a vbaProject.bin binary from an
|
|
6
|
+
# Excel 2007+ xlsm file for insertion into an XlsxWriter file.
|
|
7
|
+
#
|
|
8
|
+
# SPDX-License-Identifier: BSD-2-Clause
|
|
9
|
+
# Copyright 2013-2023, John McNamara, jmcnamara@cpan.org
|
|
10
|
+
#
|
|
11
|
+
import sys
|
|
12
|
+
from zipfile import ZipFile
|
|
13
|
+
from zipfile import BadZipFile
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def extract_file(xlsm_zip, filename):
|
|
17
|
+
# Extract a single file from an Excel xlsm macro file.
|
|
18
|
+
data = xlsm_zip.read("xl/" + filename)
|
|
19
|
+
|
|
20
|
+
# Write the data to a local file.
|
|
21
|
+
file = open(filename, "wb")
|
|
22
|
+
file.write(data)
|
|
23
|
+
file.close()
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# The VBA project file and project signature file we want to extract.
|
|
27
|
+
vba_filename = "vbaProject.bin"
|
|
28
|
+
vba_signature_filename = "vbaProjectSignature.bin"
|
|
29
|
+
|
|
30
|
+
# Get the xlsm file name from the commandline.
|
|
31
|
+
if len(sys.argv) > 1:
|
|
32
|
+
xlsm_file = sys.argv[1]
|
|
33
|
+
else:
|
|
34
|
+
print(
|
|
35
|
+
"\nUtility to extract a vbaProject.bin binary from an Excel 2007+ "
|
|
36
|
+
"xlsm macro file for insertion into an XlsxWriter file.\n"
|
|
37
|
+
"If the macros are digitally signed, extracts also a vbaProjectSignature.bin "
|
|
38
|
+
"file.\n"
|
|
39
|
+
"\n"
|
|
40
|
+
"See: https://xlsxwriter.readthedocs.io/working_with_macros.html\n"
|
|
41
|
+
"\n"
|
|
42
|
+
"Usage: vba_extract file.xlsm\n"
|
|
43
|
+
)
|
|
44
|
+
exit()
|
|
45
|
+
|
|
46
|
+
try:
|
|
47
|
+
# Open the Excel xlsm file as a zip file.
|
|
48
|
+
xlsm_zip = ZipFile(xlsm_file, "r")
|
|
49
|
+
|
|
50
|
+
# Read the xl/vbaProject.bin file.
|
|
51
|
+
extract_file(xlsm_zip, vba_filename)
|
|
52
|
+
print("Extracted: %s" % vba_filename)
|
|
53
|
+
|
|
54
|
+
if "xl/" + vba_signature_filename in xlsm_zip.namelist():
|
|
55
|
+
extract_file(xlsm_zip, vba_signature_filename)
|
|
56
|
+
print("Extracted: %s" % vba_signature_filename)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
except IOError as e:
|
|
60
|
+
print("File error: %s" % str(e))
|
|
61
|
+
exit()
|
|
62
|
+
|
|
63
|
+
except KeyError as e:
|
|
64
|
+
# Usually when there isn't a xl/vbaProject.bin member in the file.
|
|
65
|
+
print("File error: %s" % str(e))
|
|
66
|
+
print("File may not be an Excel xlsm macro file: '%s'" % xlsm_file)
|
|
67
|
+
exit()
|
|
68
|
+
|
|
69
|
+
except BadZipFile as e:
|
|
70
|
+
# Usually if the file is an xls file and not an xlsm file.
|
|
71
|
+
print("File error: %s: '%s'" % (str(e), xlsm_file))
|
|
72
|
+
print("File may not be an Excel xlsm macro file.")
|
|
73
|
+
exit()
|
|
74
|
+
|
|
75
|
+
except Exception as e:
|
|
76
|
+
# Catch any other exceptions.
|
|
77
|
+
print("File error: %s" % str(e))
|
|
78
|
+
exit()
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Copyright (c) 2010-2023 openpyxl
|
|
2
|
+
|
|
3
|
+
DEBUG = False
|
|
4
|
+
|
|
5
|
+
from openpyxl.compat.numbers import NUMPY
|
|
6
|
+
from openpyxl.xml import DEFUSEDXML, LXML
|
|
7
|
+
from openpyxl.workbook import Workbook
|
|
8
|
+
from openpyxl.reader.excel import load_workbook as open
|
|
9
|
+
from openpyxl.reader.excel import load_workbook
|
|
10
|
+
import openpyxl._constants as constants
|
|
11
|
+
|
|
12
|
+
# Expose constants especially the version number
|
|
13
|
+
|
|
14
|
+
__author__ = constants.__author__
|
|
15
|
+
__author_email__ = constants.__author_email__
|
|
16
|
+
__license__ = constants.__license__
|
|
17
|
+
__maintainer_email__ = constants.__maintainer_email__
|
|
18
|
+
__url__ = constants.__url__
|
|
19
|
+
__version__ = constants.__version__
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Copyright (c) 2010-2023 openpyxl
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Package metadata
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__author__ = "See AUTHORS"
|
|
8
|
+
__author_email__ = "charlie.clark@clark-consulting.eu"
|
|
9
|
+
__license__ = "MIT"
|
|
10
|
+
__maintainer_email__ = "openpyxl-users@googlegroups.com"
|
|
11
|
+
__url__ = "https://openpyxl.readthedocs.io"
|
|
12
|
+
__version__ = "3.1.2"
|
|
13
|
+
__python__ = "3.6"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Copyright (c) 2010-2023 openpyxl
|
|
2
|
+
|
|
3
|
+
from openpyxl.compat import safe_string
|
|
4
|
+
from openpyxl.xml.functions import Element, SubElement, whitespace, XML_NS, REL_NS
|
|
5
|
+
from openpyxl import LXML
|
|
6
|
+
from openpyxl.utils.datetime import to_excel, to_ISO8601
|
|
7
|
+
from datetime import timedelta
|
|
8
|
+
|
|
9
|
+
from openpyxl.worksheet.formula import DataTableFormula, ArrayFormula
|
|
10
|
+
from openpyxl.cell.rich_text import TextBlock
|
|
11
|
+
|
|
12
|
+
def _set_attributes(cell, styled=None):
|
|
13
|
+
"""
|
|
14
|
+
Set coordinate and datatype
|
|
15
|
+
"""
|
|
16
|
+
coordinate = cell.coordinate
|
|
17
|
+
attrs = {'r': coordinate}
|
|
18
|
+
if styled:
|
|
19
|
+
attrs['s'] = f"{cell.style_id}"
|
|
20
|
+
|
|
21
|
+
if cell.data_type == "s":
|
|
22
|
+
attrs['t'] = "inlineStr"
|
|
23
|
+
elif cell.data_type != 'f':
|
|
24
|
+
attrs['t'] = cell.data_type
|
|
25
|
+
|
|
26
|
+
value = cell._value
|
|
27
|
+
|
|
28
|
+
if cell.data_type == "d":
|
|
29
|
+
if hasattr(value, "tzinfo") and value.tzinfo is not None:
|
|
30
|
+
raise TypeError("Excel does not support timezones in datetimes. "
|
|
31
|
+
"The tzinfo in the datetime/time object must be set to None.")
|
|
32
|
+
|
|
33
|
+
if cell.parent.parent.iso_dates and not isinstance(value, timedelta):
|
|
34
|
+
value = to_ISO8601(value)
|
|
35
|
+
else:
|
|
36
|
+
attrs['t'] = "n"
|
|
37
|
+
value = to_excel(value, cell.parent.parent.epoch)
|
|
38
|
+
|
|
39
|
+
if cell.hyperlink:
|
|
40
|
+
cell.parent._hyperlinks.append(cell.hyperlink)
|
|
41
|
+
|
|
42
|
+
return value, attrs
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def etree_write_cell(xf, worksheet, cell, styled=None):
|
|
46
|
+
|
|
47
|
+
value, attributes = _set_attributes(cell, styled)
|
|
48
|
+
|
|
49
|
+
el = Element("c", attributes)
|
|
50
|
+
if value is None or value == "":
|
|
51
|
+
xf.write(el)
|
|
52
|
+
return
|
|
53
|
+
|
|
54
|
+
if cell.data_type == 'f':
|
|
55
|
+
attrib = {}
|
|
56
|
+
|
|
57
|
+
if isinstance(value, ArrayFormula):
|
|
58
|
+
attrib = dict(value)
|
|
59
|
+
value = value.text
|
|
60
|
+
|
|
61
|
+
elif isinstance(value, DataTableFormula):
|
|
62
|
+
attrib = dict(value)
|
|
63
|
+
value = None
|
|
64
|
+
|
|
65
|
+
formula = SubElement(el, 'f', attrib)
|
|
66
|
+
if value is not None and not attrib.get('t') == "dataTable":
|
|
67
|
+
formula.text = value[1:]
|
|
68
|
+
value = None
|
|
69
|
+
|
|
70
|
+
if cell.data_type == 's':
|
|
71
|
+
inline_string = SubElement(el, 'is')
|
|
72
|
+
if isinstance(value, str):
|
|
73
|
+
text = SubElement(inline_string, 't')
|
|
74
|
+
text.text = value
|
|
75
|
+
whitespace(text)
|
|
76
|
+
else:
|
|
77
|
+
for r in value:
|
|
78
|
+
se = SubElement(inline_string, 'r')
|
|
79
|
+
if isinstance(r, TextBlock):
|
|
80
|
+
se2 = SubElement(se, 'rPr')
|
|
81
|
+
se2.append(r.font.to_tree())
|
|
82
|
+
text = r.name
|
|
83
|
+
else:
|
|
84
|
+
text = r
|
|
85
|
+
text = SubElement(se, 't')
|
|
86
|
+
text.text = text
|
|
87
|
+
whitespace(text)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
else:
|
|
92
|
+
cell_content = SubElement(el, 'v')
|
|
93
|
+
if value is not None:
|
|
94
|
+
cell_content.text = safe_string(value)
|
|
95
|
+
|
|
96
|
+
xf.write(el)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def lxml_write_cell(xf, worksheet, cell, styled=False):
|
|
100
|
+
value, attributes = _set_attributes(cell, styled)
|
|
101
|
+
|
|
102
|
+
if value == '' or value is None:
|
|
103
|
+
with xf.element("c", attributes):
|
|
104
|
+
return
|
|
105
|
+
|
|
106
|
+
with xf.element('c', attributes):
|
|
107
|
+
if cell.data_type == 'f':
|
|
108
|
+
attrib = {}
|
|
109
|
+
|
|
110
|
+
if isinstance(value, ArrayFormula):
|
|
111
|
+
attrib = dict(value)
|
|
112
|
+
value = value.text
|
|
113
|
+
|
|
114
|
+
elif isinstance(value, DataTableFormula):
|
|
115
|
+
attrib = dict(value)
|
|
116
|
+
value = None
|
|
117
|
+
|
|
118
|
+
with xf.element('f', attrib):
|
|
119
|
+
if value is not None and not attrib.get('t') == "dataTable":
|
|
120
|
+
xf.write(value[1:])
|
|
121
|
+
value = None
|
|
122
|
+
|
|
123
|
+
if cell.data_type == 's':
|
|
124
|
+
with xf.element("is"):
|
|
125
|
+
if isinstance(value, str):
|
|
126
|
+
attrs = {}
|
|
127
|
+
if value != value.strip():
|
|
128
|
+
attrs["{%s}space" % XML_NS] = "preserve"
|
|
129
|
+
el = Element("t", attrs) # lxml can't handle xml-ns
|
|
130
|
+
el.text = value
|
|
131
|
+
xf.write(el)
|
|
132
|
+
#with xf.element("t", attrs):
|
|
133
|
+
#xf.write(value)
|
|
134
|
+
else:
|
|
135
|
+
for r in value:
|
|
136
|
+
with xf.element("r"):
|
|
137
|
+
if isinstance(r, TextBlock):
|
|
138
|
+
xf.write(r.font.to_tree(tagname='rPr'))
|
|
139
|
+
value = r.text
|
|
140
|
+
else:
|
|
141
|
+
value = r
|
|
142
|
+
attrs = {}
|
|
143
|
+
if value != value.strip():
|
|
144
|
+
attrs["{%s}space" % XML_NS] = "preserve"
|
|
145
|
+
el = Element("t", attrs) # lxml can't handle xml-ns
|
|
146
|
+
el.text = value
|
|
147
|
+
xf.write(el)
|
|
148
|
+
|
|
149
|
+
else:
|
|
150
|
+
with xf.element("v"):
|
|
151
|
+
if value is not None:
|
|
152
|
+
xf.write(safe_string(value))
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
if LXML:
|
|
156
|
+
write_cell = lxml_write_cell
|
|
157
|
+
else:
|
|
158
|
+
write_cell = etree_write_cell
|