Metadata-Version: 1.1
Name: pyexcel-xlsxw
Version: 0.4.2
Summary: A wrapper library to write data in xlsx and xlsm format
Home-page: https://github.com/pyexcel/pyexcel-xlsxw
Author: C.W.
Author-email: wangc_2011@hotmail.com
License: New BSD
Download-URL: https://github.com/pyexcel/pyexcel-xlsxw/archive/0.4.2.tar.gz
Description: ================================================================================
        pyexcel-xlsxw - Let you focus on data, instead of xlsx format
        ================================================================================
        
        .. image:: https://raw.githubusercontent.com/pyexcel/pyexcel.github.io/master/images/patreon.png
           :target: https://www.patreon.com/pyexcel
        
        .. image:: https://api.travis-ci.org/pyexcel/pyexcel-xlsxw.svg?branch=master
           :target: http://travis-ci.org/pyexcel/pyexcel-xlsxw
        
        .. image:: https://codecov.io/gh/pyexcel/pyexcel-xlsxw/branch/master/graph/badge.svg
           :target: https://codecov.io/gh/pyexcel/pyexcel-xlsxw
        
        .. image:: https://img.shields.io/gitter/room/gitterHQ/gitter.svg
           :target: https://gitter.im/pyexcel/Lobby
        
        .. image:: https://readthedocs.org/projects/pyexcel-xlsxw/badge/?version=latest
           :target: http://pyexcel-xlsxw.readthedocs.org/en/latest/
        
        **pyexcel-xlsxw** is a tiny wrapper library to write data in xlsx and xlsm fromat using xlsxwriter. You are likely to use it with `pyexcel <https://github.com/pyexcel/pyexcel>`__.
        
        Known constraints
        ==================
        
        Fonts, colors and charts are not supported.
        
        Installation
        ================================================================================
        
        
        You can install pyexcel-xlsxw via pip:
        
        .. code-block:: bash
        
            $ pip install pyexcel-xlsxw
        
        
        or clone it and install it:
        
        .. code-block:: bash
        
            $ git clone https://github.com/pyexcel/pyexcel-xlsxw.git
            $ cd pyexcel-xlsxw
            $ python setup.py install
        
        Support the project
        ================================================================================
        
        If your company has embedded pyexcel and its components into a revenue generating
        product, please `support me on patreon <https://www.patreon.com/bePatron?u=5537627>`_ to
        maintain the project and develop it further.
        
        If you are an individual, you are welcome to support me too on patreon and for however long
        you feel like. As a patreon, you will receive
        `early access to pyexcel related contents <https://www.patreon.com/pyexcel/posts>`_.
        
        With your financial support, I will be able to invest
        a little bit more time in coding, documentation and writing interesting posts.
        
        
        Usage
        ================================================================================
        
        As a standalone library
        --------------------------------------------------------------------------------
        
        Write to an xlsx file
        ********************************************************************************
        
        
        
        Here's the sample code to write a dictionary to an xlsx file:
        
        .. code-block:: python
        
            >>> from pyexcel_xlsxw import save_data
            >>> data = OrderedDict() # from collections import OrderedDict
            >>> data.update({"Sheet 1": [[1, 2, 3], [4, 5, 6]]})
            >>> data.update({"Sheet 2": [["row 1", "row 2", "row 3"]]})
            >>> save_data("your_file.xlsx", data)
        
        
        
        Here's the sample code to help you read the data back. You will need to install pyexcel-xls or pyexcel-xlsx.
        
        .. code-block:: python
        
            >>> from pyexcel_io import get_data
            >>> data = get_data("your_file.xlsx")
            >>> import json
            >>> print(json.dumps(data))
            {"Sheet 1": [[1, 2, 3], [4, 5, 6]], "Sheet 2": [["row 1", "row 2", "row 3"]]}
        
        
        Write an xlsx to memory
        ********************************************************************************
        
        Here's the sample code to write a dictionary to an xlsx file:
        
        .. code-block:: python
        
            >>> from pyexcel_xlsxw import save_data
            >>> data = OrderedDict()
            >>> data.update({"Sheet 1": [[1, 2, 3], [4, 5, 6]]})
            >>> data.update({"Sheet 2": [[7, 8, 9], [10, 11, 12]]})
            >>> io = StringIO()
            >>> save_data(io, data)
            >>> # do something with the io
            >>> # In reality, you might give it to your http response
            >>> # object for downloading
        
        
        
        
        
        Here's the sample code to help you read the data back. You will need to install pyexcel-xls or pyexcel-xlsx.
        
        .. code-block:: python
        
            >>> # This is just an illustration
            >>> # In reality, you might deal with xlsx file upload
            >>> # where you will read from requests.FILES['YOUR_XLSX_FILE']
            >>> data = get_data(io, 'xlsx')
            >>> print(json.dumps(data))
            {"Sheet 1": [[1, 2, 3], [4, 5, 6]], "Sheet 2": [[7, 8, 9], [10, 11, 12]]}
        
        
        
        As a pyexcel plugin
        --------------------------------------------------------------------------------
        
        No longer, explicit import is needed since pyexcel version 0.2.2. Instead,
        this library is auto-loaded. So if you want to read data in xlsx format,
        installing it is enough.
        
        
        Let's assume we have data as the following.
        
        .. code-block:: python
        
            >>> import pyexcel as pe
            >>> sheet = pe.get_book(file_name="your_file.xlsx")
            >>> sheet
            Sheet 1:
            +---+---+---+
            | 1 | 2 | 3 |
            +---+---+---+
            | 4 | 5 | 6 |
            +---+---+---+
            Sheet 2:
            +-------+-------+-------+
            | row 1 | row 2 | row 3 |
            +-------+-------+-------+
        
        
        Writing to an xlsx file
        ********************************************************************************
        
        Here is the sample code:
        
        .. code-block:: python
        
            >>> sheet.save_as("another_file.xlsx")
        
        
        Writing to a StringIO instance
        ********************************************************************************
        
        You need to pass a StringIO instance to Writer:
        
        .. code-block:: python
        
            >>> data = [
            ...     [1, 2, 3],
            ...     [4, 5, 6]
            ... ]
            >>> io = StringIO()
            >>> sheet = pe.Sheet(data)
            >>> io = sheet.save_to_memory("xlsx", io)
            >>> # then do something with io
            >>> # In reality, you might give it to your http response
            >>> # object for downloading
        
        
        License
        ================================================================================
        
        New BSD License
        
        Developer guide
        ==================
        
        Development steps for code changes
        
        #. git clone https://github.com/pyexcel/pyexcel-xlsxw.git
        #. cd pyexcel-xlsxw
        
        Upgrade your setup tools and pip. They are needed for development and testing only:
        
        #. pip install --upgrade setuptools pip
        
        Then install relevant development requirements:
        
        #. pip install -r rnd_requirements.txt # if such a file exists
        #. pip install -r requirements.txt
        #. pip install -r tests/requirements.txt
        
        Once you have finished your changes, please provide test case(s), relevant documentation
        and update CHANGELOG.rst.
        
        .. note::
        
            As to rnd_requirements.txt, usually, it is created when a dependent
            library is not released. Once the dependecy is installed
            (will be released), the future
            version of the dependency in the requirements.txt will be valid.
        
        
        How to test your contribution
        ------------------------------
        
        Although `nose` and `doctest` are both used in code testing, it is adviable that unit tests are put in tests. `doctest` is incorporated only to make sure the code examples in documentation remain valid across different development releases.
        
        On Linux/Unix systems, please launch your tests like this::
        
            $ make
        
        On Windows systems, please issue this command::
        
            > test.bat
        
        How to update test environment and update documentation
        ---------------------------------------------------------
        
        Additional steps are required:
        
        #. pip install moban
        #. git clone https://github.com/moremoban/setupmobans.git # generic setup
        #. git clone https://github.com/pyexcel/pyexcel-commons.git commons
        #. make your changes in `.moban.d` directory, then issue command `moban`
        
        What is pyexcel-commons
        ---------------------------------
        
        Many information that are shared across pyexcel projects, such as: this developer guide, license info, etc. are stored in `pyexcel-commons` project.
        
        What is .moban.d
        ---------------------------------
        
        `.moban.d` stores the specific meta data for the library.
        
        Acceptance criteria
        -------------------
        
        #. Has Test cases written
        #. Has all code lines tested
        #. Passes all Travis CI builds
        #. Has fair amount of documentation if your change is complex
        #. Please update CHANGELOG.rst
        #. Please add yourself to CONTRIBUTORS.rst
        #. Agree on NEW BSD License for your contribution
        
        
        
        Change log
        ================================================================================
        
        0.4.2 - 23.10.2017
        --------------------------------------------------------------------------------
        
        updated
        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        #. pyexcel `#105 <https://github.com/pyexcel/pyexcel/issues/105>`_, remove gease
           from setup_requires, introduced by 0.4.1.
        #. remove python2.6 test support
        
        0.4.1 - 20.10.2017
        --------------------------------------------------------------------------------
        
        added
        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        
        #. `#103 <https://github.com/pyexcel/pyexcel/issues/103>`_, include LICENSE file
           in MANIFEST.in, meaning LICENSE file will appear in the released tar ball.
        
        0.4.0 - 19.06.2017
        --------------------------------------------------------------------------------
        
        Updated
        ********************************************************************************
        
        #. pyexcel-io plugin interface now updated to use
           `lml <https://github.com/chfw/lml>`_.
        
        
        0.3.2 - 03.03.2017
        --------------------------------------------------------------------------------
        
        #. Remove the false claim that this library writes xlsm
        
        0.3.1 - 24.02.2017
        --------------------------------------------------------------------------------
        
        #. `#1 <https://github.com/pyexcel/pyexcel-xlsxw/issues/1>`_,
           Feature request: support Workbook options in XLSXWriter.open()
        
        0.3.0 - 22.12.2016
        --------------------------------------------------------------------------------
        
        #. Support pyexcel-io v0.3.0
        
        0.0.1 - 26.08.2016
        --------------------------------------------------------------------------------
        
        #. initial release to see if xlsxwriter would write xlsx significantly faster
           than openpyxl
        
        
Keywords: xlsxpython
Platform: UNKNOWN
Classifier: Topic :: Office/Business
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: Implementation :: PyPy
