{"id":19797387,"url":"https://github.com/pyexcel/pyexcel-libxlsxw","last_synced_at":"2025-02-28T10:45:45.983Z","repository":{"id":62580263,"uuid":"304458727","full_name":"pyexcel/pyexcel-libxlsxw","owner":"pyexcel","description":"A wrapper library of libxlsxwpy(libxlsxwriter) to write data in xlsx and xlsm format. Faster than pyexcel-xlsxw?","archived":false,"fork":false,"pushed_at":"2020-10-16T21:24:06.000Z","size":137,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T05:19:22.144Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyexcel.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"chfw","patreon":"chfw"}},"created_at":"2020-10-15T22:08:54.000Z","updated_at":"2020-11-08T14:44:12.000Z","dependencies_parsed_at":"2022-11-03T20:49:55.192Z","dependency_job_id":null,"html_url":"https://github.com/pyexcel/pyexcel-libxlsxw","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyexcel%2Fpyexcel-libxlsxw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyexcel%2Fpyexcel-libxlsxw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyexcel%2Fpyexcel-libxlsxw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyexcel%2Fpyexcel-libxlsxw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyexcel","download_url":"https://codeload.github.com/pyexcel/pyexcel-libxlsxw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241139230,"owners_count":19916461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T07:25:05.317Z","updated_at":"2025-02-28T10:45:45.933Z","avatar_url":"https://github.com/pyexcel.png","language":"Python","readme":"================================================================================\npyexcel-libxlsxw - Let you focus on data, instead of xlsx format\n================================================================================\n\n.. image:: https://raw.githubusercontent.com/pyexcel/pyexcel.github.io/master/images/patreon.png\n   :target: https://www.patreon.com/chfw\n\n.. image:: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg\n   :target: https://awesome-python.com/#specific-formats-processing\n\n.. image:: https://travis-ci.org/pyexcel/pyexcel-libxlsxw.svg?branch=master\n   :target: http://travis-ci.org/pyexcel/pyexcel-libxlsxw\n\n.. image:: https://codecov.io/gh/pyexcel/pyexcel-libxlsxw/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/pyexcel/pyexcel-libxlsxw\n\n.. image:: https://badge.fury.io/py/pyexcel-libxlsxw.svg\n   :target: https://pypi.org/project/pyexcel-libxlsxw\n\n\n.. image:: https://pepy.tech/badge/pyexcel-libxlsxw/month\n   :target: https://pepy.tech/project/pyexcel-libxlsxw/month\n\n\n.. image:: https://img.shields.io/gitter/room/gitterHQ/gitter.svg\n   :target: https://gitter.im/pyexcel/Lobby\n\n.. image:: https://img.shields.io/static/v1?label=continuous%20templating\u0026message=%E6%A8%A1%E7%89%88%E6%9B%B4%E6%96%B0\u0026color=blue\u0026style=flat-square\n    :target: https://moban.readthedocs.io/en/latest/#at-scale-continous-templating-for-open-source-projects\n\n.. image:: https://img.shields.io/static/v1?label=coding%20style\u0026message=black\u0026color=black\u0026style=flat-square\n    :target: https://github.com/psf/black\n.. image:: https://readthedocs.org/projects/pyexcel-libxlsxw/badge/?version=latest\n   :target: http://pyexcel-libxlsxw.readthedocs.org/en/latest/\n\n**pyexcel-libxlsxw** is a tiny wrapper library to write data in xlsx and xlsm format\nusing libxlsxwriter. You are likely to use it with `pyexcel \u003chttps://github.com/pyexcel/pyexcel\u003e`__.\n\nSupport the project\n================================================================================\n\nIf your company has embedded pyexcel and its components into a revenue generating\nproduct, please support me on github, `patreon \u003chttps://www.patreon.com/bePatron?u=5537627\u003e`_\nor `bounty source \u003chttps://salt.bountysource.com/teams/chfw-pyexcel\u003e`_ to maintain\nthe project and develop it further.\n\nIf you are an individual, you are welcome to support me too and for however long\nyou feel like. As my backer, you will receive\n`early access to pyexcel related contents \u003chttps://www.patreon.com/pyexcel/posts\u003e`_.\n\nAnd your issues will get prioritized if you would like to become my patreon as `pyexcel pro user`.\n\nWith your financial support, I will be able to invest\na little bit more time in coding, documentation and writing interesting posts.\n\n\nKnown constraints\n==================\n\nFonts, colors and charts are not supported.\n\nInstallation\n================================================================================\n\n\nYou can install pyexcel-libxlsxw via pip:\n\n.. code-block:: bash\n\n    $ pip install pyexcel-libxlsxw\n\n\nor clone it and install it:\n\n.. code-block:: bash\n\n    $ git clone https://github.com/pyexcel/pyexcel-libxlsxw.git\n    $ cd pyexcel-libxlsxw\n    $ python setup.py install\n\nUsage\n================================================================================\n\nAs a standalone library\n--------------------------------------------------------------------------------\n\n.. testcode::\n   :hide:\n\n    \u003e\u003e\u003e import os\n    \u003e\u003e\u003e import sys\n    \u003e\u003e\u003e if sys.version_info[0] \u003c 3:\n    ...     from StringIO import StringIO\n    ... else:\n    ...     from io import BytesIO as StringIO\n    \u003e\u003e\u003e PY2 = sys.version_info[0] == 2\n    \u003e\u003e\u003e if PY2 and sys.version_info[1] \u003c 7:\n    ...      from ordereddict import OrderedDict\n    ... else:\n    ...     from collections import OrderedDict\n\n\nWrite to an xlsx file\n********************************************************************************\n\n\n\nHere's the sample code to write a dictionary to an xlsx file:\n\n.. code-block:: python\n\n    \u003e\u003e\u003e from pyexcel_libxlsxw import save_data\n    \u003e\u003e\u003e data = OrderedDict() # from collections import OrderedDict\n    \u003e\u003e\u003e data.update({\"Sheet 1\": [[1, 2, 3], [4, 5, 6]]})\n    \u003e\u003e\u003e data.update({\"Sheet 2\": [[\"row 1\", \"row 2\", \"row 3\"]]})\n    \u003e\u003e\u003e save_data(\"your_file.xlsx\", data)\n\n\n\nHere's the sample code to help you read the data back. You will need to install pyexcel-xls or pyexcel-xlsx.\n\n.. code-block:: python\n\n    \u003e\u003e\u003e from pyexcel_io import get_data\n    \u003e\u003e\u003e data = get_data(\"your_file.xlsx\")\n    \u003e\u003e\u003e import json\n    \u003e\u003e\u003e print(json.dumps(data))\n    {\"Sheet 1\": [[1, 2, 3], [4, 5, 6]], \"Sheet 2\": [[\"row 1\", \"row 2\", \"row 3\"]]}\n\n\nWrite an xlsx to memory\n********************************************************************************\n\nHere's the sample code to write a dictionary to an xlsx file:\n\n.. code-block:: python\n\n    \u003e\u003e\u003e from pyexcel_libxlsxw import save_data\n    \u003e\u003e\u003e data = OrderedDict()\n    \u003e\u003e\u003e data.update({\"Sheet 1\": [[1, 2, 3], [4, 5, 6]]})\n    \u003e\u003e\u003e data.update({\"Sheet 2\": [[7, 8, 9], [10, 11, 12]]})\n    \u003e\u003e\u003e io = StringIO()\n    \u003e\u003e\u003e save_data(io, data)\n    \u003e\u003e\u003e # do something with the io\n    \u003e\u003e\u003e # In reality, you might give it to your http response\n    \u003e\u003e\u003e # object for downloading\n\n\n\n\n\nHere's the sample code to help you read the data back. You will need to install pyexcel-xls or pyexcel-xlsx.\n\n.. code-block:: python\n\n    \u003e\u003e\u003e # This is just an illustration\n    \u003e\u003e\u003e # In reality, you might deal with xlsx file upload\n    \u003e\u003e\u003e # where you will read from requests.FILES['YOUR_XLSX_FILE']\n    \u003e\u003e\u003e data = get_data(io, 'xlsx')\n    \u003e\u003e\u003e print(json.dumps(data))\n    {\"Sheet 1\": [[1, 2, 3], [4, 5, 6]], \"Sheet 2\": [[7, 8, 9], [10, 11, 12]]}\n\n\n\nAs a pyexcel plugin\n--------------------------------------------------------------------------------\n\nNo longer, explicit import is needed since pyexcel version 0.2.2. Instead,\nthis library is auto-loaded. So if you want to read data in xlsx format,\ninstalling it is enough.\n\n\nLet's assume we have data as the following.\n\n.. code-block:: python\n\n    \u003e\u003e\u003e import pyexcel as pe\n    \u003e\u003e\u003e sheet = pe.get_book(file_name=\"your_file.xlsx\")\n    \u003e\u003e\u003e sheet\n    Sheet 1:\n    +---+---+---+\n    | 1 | 2 | 3 |\n    +---+---+---+\n    | 4 | 5 | 6 |\n    +---+---+---+\n    Sheet 2:\n    +-------+-------+-------+\n    | row 1 | row 2 | row 3 |\n    +-------+-------+-------+\n\n\nWriting to an xlsx file\n********************************************************************************\n\nHere is the sample code:\n\n.. code-block:: python\n\n    \u003e\u003e\u003e sheet.save_as(\"another_file.xlsx\")\n\n\n\n\nLicense\n================================================================================\n\nNew BSD License\n\nDeveloper guide\n==================\n\nDevelopment steps for code changes\n\n#. git clone https://github.com/pyexcel/pyexcel-libxlsxw.git\n#. cd pyexcel-libxlsxw\n\nUpgrade your setup tools and pip. They are needed for development and testing only:\n\n#. pip install --upgrade setuptools pip\n\nThen install relevant development requirements:\n\n#. pip install -r rnd_requirements.txt # if such a file exists\n#. pip install -r requirements.txt\n#. pip install -r tests/requirements.txt\n\nOnce you have finished your changes, please provide test case(s), relevant documentation\nand update CHANGELOG.rst.\n\n.. note::\n\n    As to rnd_requirements.txt, usually, it is created when a dependent\n    library is not released. Once the dependecy is installed\n    (will be released), the future\n    version of the dependency in the requirements.txt will be valid.\n\n\nHow to test your contribution\n------------------------------\n\nAlthough `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.\n\nOn Linux/Unix systems, please launch your tests like this::\n\n    $ make\n\nOn Windows systems, please issue this command::\n\n    \u003e test.bat\n\n\nBefore you commit\n------------------------------\n\nPlease run::\n\n    $ make format\n\nso as to beautify your code otherwise travis-ci may fail your unit test.\n\n\n\n.. testcode::\n   :hide:\n\n   \u003e\u003e\u003e import os\n   \u003e\u003e\u003e os.unlink(\"your_file.xlsx\")\n   \u003e\u003e\u003e os.unlink(\"another_file.xlsx\")\n","funding_links":["https://github.com/sponsors/chfw","https://patreon.com/chfw","https://www.patreon.com/chfw","https://www.patreon.com/bePatron?u=5537627","https://www.patreon.com/pyexcel/posts"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyexcel%2Fpyexcel-libxlsxw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyexcel%2Fpyexcel-libxlsxw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyexcel%2Fpyexcel-libxlsxw/lists"}