Universal Office Converter - Convert between any document format supported by LibreOffice/OpenOffice.

Overview

Automated conversion and styling using LibreOffice

Universal Office Converter (unoconv) is a command line tool to convert any document format that LibreOffice can import to any document format that LibreOffice can export. It makes use of the LibreOffice’s UNO bindings for non-interactive conversion of documents.

For practical reasons we mention LibreOffice, but OpenOffice is supported by unoconv as well.

Installing unoconv

unoconv can be installed using packages coming from your distribution, or simply by copying the unoconv python script to your system.

If you installed unoconv by hand, make sure you have the required LibreOffice or OpenOffice packages installed. A hard requirement is the UNO python bindings which are often inside a subpackage named libreoffice-pyuno or libobasis4.4-pyuno.

Various sub-packages are needed for specific import or export filters, e.g. XML-based filters require the xsltfilter subpackage, e.g. libobasis4.4-xsltfilter.

Important
Neglecting these requirements will cause unoconv to fail with unhelpful and confusing error messages.

How does unoconv work ?

unoconv starts its own office instance (if it cannot find an existing listener) that it then uses. There are some challenges to do this correctly, but in general this works fine.

Typically you would convert an ODT document to PDF by running:

unoconv -f pdf some-file.odt

Start your own unoconv listener

However, you can always start an instance yourself at the default port 2002 (or specify another port with -p/--port) and after use you can tear it down:

unoconv --listener &
sleep 20
unoconv -f pdf *.odt
unoconv -f doc *.odt
unoconv -f html *.odt
kill -15 %-

It is also possible to use a listener or LibreOffice instance that accepts connections on another system and use it from unoconv remotely. This way the conversion tasks are performed on a dedicated system instead of on the client system. This works only if you have a shared filesystem mounted at the same location.

Python and pyuno incompatibilities

Beware that the pyuno python module needs to be compiled with the exact same version of python that you are using to load it. A lot of people that run into problems loading pyuno are actually using a precompiled LibreOffice that they downloaded somewhere and is incompatible with the python version on their system.

To solve this issue, the project’s office suite ships with its own python interpreter located in the 'program' directory, this one should work flawlessly.

The most recent unoconv works around this issue by automatically detecting incompatibilities, and restarting itself using a compatible python (the same one that ships with LibreOffice).

You can influence the automatic detection by setting the UNO_PATH environment variable to point to an alternative LibreOffice installation, e.g.:

UNO_PATH=/opt/libreoffice4.4 unoconv -f pdf some-file.odt

But you can also force another python by using it to execute unoconv, e.g.:

/opt/libreoffice4.4/program/python.bin unoconv -f pdf some-file.odt

or on macOS:

/Applications/LibreOffice.app/Contents/MacOS/python unoconv -f pdf some-file.odt

or on Windows:

C:\Program Files (x86)\LibreOffice 4.4\program\python.exe unoconv -f pdf some-file.odt
Tip
If you plan to use unoconv extensively (or in an automated fashion) it is more efficient to use the correct python interpreter directly. Or event put it directly in the Shebang (the first line) of the unoconv script !

Using unoconv with no X display

Since OpenOffice 2.3 you do not need an X display for starting ooffice. However you may need the openoffice.org-headless package from your distribution. Since LibreOffice 2.4 nothing special is needed, running in headless mode does not require X.

For any older OpenOffice releases, remember that ooffice requires an X display, even when using it in headless mode. One solution is to use Xvfb to create a headless X display for ooffice.

Using unoconv with macOS

LibreOffice 3.6.0.1 or later is required to use unoconv under macOS. This is the first version distributed with an internal python script that works. No version of OpenOffice for macOS (3.4 is the current version) works because the necessary internal files are not included inside the application.

Problems running unoconv from Nginx/Apache/PHP

Some people have had difficulties using unoconv through webservices. Here is a list of probable causes and recommendations:

  • Use the latest version of unoconv (or GitHub master branch)

  • Use the most recent stable release of LibreOffice (less memory, more stable, fewer crashes)

  • Use the native LibreOffice python binary to run unoconv

  • Hardcode this native python path in the unoconv script shebang (or ensure PATH is set)

  • Ensure that the user running unoconv has write access to its HOME directory (ensure HOME is set)

  • Test with SELinux in permissive mode

It is recommended to open the unoconv script and modify the very first line to point directly to your installed LibreOffice python binary, so replace this:

#!/usr/bin/env python

with something like this:

#!/opt/libreoffice4.4/program/python

Conversion problems

If you encounter problems converting files, it often helps to try again. If you are using a listener, restarting the listener may help as well.

The reason for conversion failures are unclear, and they are not deterministic. unoconv is not the only project to have noticed problems with import and export filters using PyUNO. We assume these are related to internal state or timing issues that under certain conditions fail to correctly work.

If you can reproduce the problem on a specific file, please take the time to open the file in LibreOffice directly and export it to the desired format. If this fails, it needs to be reported to the LibreOffice project directly. If that works, we need to know !

We are looking into this with the LibreOffice developers to:

  • Collaborate closer to find, report and fix unexpected failures

  • Allow end-users to increase debugging and improve reporting to the project

Troubleshooting instructions

If you encounter a problem with converting documents using unoconv, please consider that this could be caused by a number of things:

  • incomplete LibreOffice installation

  • LibreOffice bug or regression specific to your version/distribution

  • LibreOffice import or export filter issue

  • problem related to stale lock files

  • problem related to the source document

  • problem related to permissions or SELinux

  • problem related to the python UNO bindings

  • problem related to the unoconv python script

It is recommended to follow all of the below steps to pinpoint the problem:

  • if this is the first time you are using LibreOffice/OpenOffice, make sure you have all the required sub-packages installed, depending on the distribution this could be the xsltfilter, headless, writer, calc, impress or draw sub-packages.

  • check if there is no existing LibreOffice process running on the system that could interfere with proper functioning

    # pgrep -l 'office|writer|calc'
  • check that there are no stale lock files present, e.g. '.~lock.file.pdf#' or '.~lock.index.html#'

  • check that the LibreOffice instance handling UNO requests is not handling multiple requests at the same time

  • try using the latest unoconv release, or the latest version on Github at: https://github.com/dagwieers/unoconv/downloads

  • try the conversion by opening the file in LibreOffice and exporting it through LibreOffice directly

  • try unoconv with a different minor or major LibreOffice version to test whether it is a regression in LibreOffice

  • try to load the UNO bindings in python manually:

    • do this with the python executable that ships with the LibreOffice package/installer

      # /opt/libreoffice4.4/program/python.bin -c 'import uno, unohelper'
    • or alternatively, run the distribution python (with the distribution LibreOffice)

      # python -c 'import uno, unohelper'
  • try unoconv with a different python interpreter manually:

    # /opt/libreoffice4.4/program/python.bin unoconv -f pdf test-file.odt

If you tried all of the above, and the issue still remains, the issue might still be related to import/export filters, LibreOffice or unoconv, so please report any information to reproduce the problem on the Github issue-tracker at: https://github.com/dagwieers/unoconv/issues

And do mention that you already tried the above hints to troubleshoot the issue.

Interesting information

If you’re interested to help out with development, here are some pointers to interesting sources:

Other tools that are useful or similar in operation:

Comments
  • Not working on Mac

    Not working on Mac

    I get the following error on my macbook:

    unoconv: Cannot find a suitable pyuno library and python binary combination in /Applications/OpenOffice.org.app/Contents ERROR: Please locate this library and send your feedback to: http://github.com/dagwieers/unoconv/issues No module named uno unoconv: Cannot find a suitable office installation on your system. ERROR: Please locate your office installation and send your feedback to: http://github.com/dagwieers/unoconv/issues

    I'm running OpenOffice.org 3.3.0 on Mac OS X Lion 10.7.2 My unoconv version is 0.5, it is placed in /usr/bin and given read and execute permissions

    It fails if called directly, also if called with sudo

    Searched for openoffice files and found: pyuno.so at /Applications/OpenOffice.org.app/Contents/basis-link/program/pyuno.so soffice.bin at /Applications/OpenOffice.org.app/Contents/MacOS/soffice.bin

    LibreOffice bug MacOS X 
    opened by sotis 82
  • unoconv not running with apache, but runs fine with root

    unoconv not running with apache, but runs fine with root

    I traced the error to this bit of the code:

            try:
                print >>sys.stderr, "lalala %s", of.basepath
                import uno, unohelper
                print >>sys.stderr, "lelele"
                office = of
                break
            except:
    #            debug_office()
                print >>sys.stderr, "unoconv: Cannot find a suitable pyuno library and python binary combination in %s" % of
                print >>sys.stderr, "ERROR:", sys.exc_info()[1]
                print >>sys.stderr
    

    When running as root I get this:

    # /usr/bin/unoconv -f pdf -o "/var/www/tmp/test2" "/var/www/tmp/test1"
    lalala %s /opt/libreoffice3.6
    lelele
    

    Then running the same root through a webpage with apache, I get this:

    lalala %s /opt/libreoffice3.6
    unoconv: Cannot find a suitable pyuno library and python binary combination in /opt/libreoffice3.6
    ERROR: Error during bootstrapping uno (RuntimeException):cannot open file:///root/.ure/types.rdb: 13
    
    lalala %s /opt/libreoffice3.6
    unoconv: Cannot find a suitable pyuno library and python binary combination in /opt/libreoffice3.6
    ERROR: Error during bootstrapping uno (RuntimeException):cannot open file:///root/.ure/types.rdb: 13
    

    So basically the try bit fails with apache but works as root. I suppose it might be a permissions issue, or something in the environment, but I haven't been able to find any info.

    Thanks for your attention!

    lalala %s /opt/libreoffice3.6
    unoconv: Cannot find a suitable pyuno library and python binary combination in /opt/libreoffice3.6
    ERROR: Error during bootstrapping uno (RuntimeException):cannot open file:///root/.ure/types.rdb: 13
    

    unoconv: Cannot find a suitable office installation on your system. ERROR: Please locate your office installation and send your feedback to: http://github.com/dagwieers/unoconv/issue

    enhancement support 
    opened by noego 59
  • Parallel conversions and synchronization

    Parallel conversions and synchronization

    Currently I am using Unoconv together with OpenOffice on a production webserver running Ubuntu to generate PDF files from dynamically written ODT documents.

    Initially I ran into problems without using Unoconv that OpenOffice would get randomly stuck and unresponsive without completing the conversion.

    I had hoped that Unoconv would solve this problem but that seems not to be the case. From time to time OpenOffice instances still seem to hang and operations never complete resulting in unexpected behavior from my web application.

    It seems only 1 process can call Unoconv / OpenOffice at the same time system wide!

    As a temporary workaround I have created a locking mechanism in my (Ruby on Rails) web application using a Mutex-Redis lock.

    Is this an issue of Unoconv that needs to be fixed, or am I simply not using Unoconv correctly? If you have any idea on how to properly implement this use case, please let me know.

    LibreOffice enhancement 
    opened by cdekker 43
  • Basic installation process

    Basic installation process

    I'm trying to get unoconv up and running on a shell only Debian system. Do I need to install LibreOffice separately?

    I've managed to install it using simple apt-get install unoconc, but when I try and run a command to convert a ppt to jpgs, I'm getting some "Format not supported" complaint. Example below:

    :~/ppt-test# unoconv -f jpg my-file.ppt unoconv: UnoException during conversion: URL seems to be an unsupported one. The provided document cannot be converted to the desired format.

    Maybe the basic command structure is simple wrong?

    support 
    opened by aroxo 35
  • Cannot find a suitable office installation on Mac OS 10.9.3

    Cannot find a suitable office installation on Mac OS 10.9.3

    I'm using Mac OS Mavericks, LibreOffice 4.2.5.2, and unoconv 0.6 (install via homebrew).

    LibreOffice soffice install path is /Applications/LibreOffice.app/Contents/MacOS/soffice.

    Error message is:

    unoconv: Cannot find a suitable office installation on your system.
    ERROR: Please locate your office installation and send your feedback to:
           http://github.com/dagwieers/unoconv/issues
    
    bug MacOS X duplicate 
    opened by mwalsher 33
  • uno.RuntimeException: Binary URP bridge disposed during call

    uno.RuntimeException: Binary URP bridge disposed during call

    Hi,

    I installed editors/openoffice-3 from the FreeBSD ports (Apache OpenOffice 3.4), under a recent FreeBSD-9 (Stable).

    The path for pyuno.so: /usr/local/openoffice-3.4.0/openoffice.org/basis3.4/program/pyuno.so

    unoconv does not work yet.

    I tried the tarball for unoconv-0.4. First I had to add in the extrapath glob.glob('/usr/local/openoffice*/openoffice.org/basis*/program')

    After that it comes up with

    ~/unoconv-0.4/unoconv -f pdf -o ~/test.pdf ~/test.odt Traceback (most recent call last): File "/root/unoconv-0.4/unoconv", line 68, in os.environ['LD_LIBRARY_PATH'] = oolibpath + os.pathsep + os.environ['LD_LIBRARY_PATH'] File "/usr/local/lib/python2.7/UserDict.py", line 23, in getitem raise KeyError(key) KeyError: 'LD_LIBRARY_PATH'

    LD_LIBRARY_PATH isn't set.

    Anyway, I tried to use the latest version checked out via Subversion.

    ~/svn/unoconv/trunk]//unoconv -f pdf -o ~/test.pdf ~/test.odt unoconv: Cannot find a suitable office installation on your system. ERROR: Please locate your office installation and send your feedback to: http://github.com/dagwieers/unoconv/issues

    I wasn't successful with the extrapath addition as I did on unoconv-04. The error stays the same (Cannot find a suitable office..)

    As a side node, I replaced "#!/usr/bin/python" with "#!/usr/bin/env python" (FreeBSD installs it under /usr/local/bin).

    OpenOffice 3.4 and python 2.7 are compiled at the same time (same ports snapshot from last Friday, same gcc etc.) so python and pyuno.so should fit together.

    Any ideas?

    Regards Peter

    support FreeBSD 
    opened by petross 32
  • unoconv: Cannot find a suitable pyuno library and python binary combination

    unoconv: Cannot find a suitable pyuno library and python binary combination

    I did a git clone and running into following error message. I don't have openoffice but I have libreoffice write/calc/Impress installed on my machine. Any thoughts what's the issue? (I'm using Fedora16 and Python-2.7.2)

    ./unoconv

    unoconv: Cannot find a suitable pyuno library and python binary combination in /usr/lib64/libreoffice ERROR: Please locate this library and send your feedback to: http://github.com/dagwieers/unoconv/issues No module named uno unoconv: Cannot find a suitable office installation on your system. ERROR: Please locate your office installation and send your feedback to: http://github.com/dagwieers/unoconv/issues

    support 
    opened by Lakshmipathi 32
  • Problem converting txt files (ErrCode 2074)

    Problem converting txt files (ErrCode 2074)

    When converting txt files (without extension) to pdf files unoconv is crashing. When converting same file with extension, then everything is OK. In other case if file have extension and is it link to file who don't have extension, then don't work. This is only for txt files.

    unoconv -f pdf 'file' - Not working unoconv -f pdf 'file.txt' - Working

    In installed unoconv error is:

    unoconv: UnoException during conversion: 
    The provided document cannot be converted to the desired format.
    

    In last branch in gitHub the error is:

    unoconv: UnoException during export phase:
    Unable to store document to file:///home/developer/Desktop/a.pdf (ErrCode 2074)
    
    Properties: ((com.sun.star.beans.PropertyValue){ Name = (string)"FilterName", Handle = (long)0x0, Value = (any){ (string)"writer_pdf_Export" }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)"OutputStream", Handle = (long)0x0, Value = (any){ (com.sun.star.uno.XInterface)0x-4c64b9a4{, supportedInterfaces={com.sun.star.lang.XTypeProvider,com.sun.star.io.XOutputStream}} }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)"Overwrite", Handle = (long)0x0, Value = (any){ (boolean)true }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE })
    
    waiting for feedback support 
    opened by Yuseinov 19
  • UNO IllegalArgument during import phase: Source file cannot be read. URL seems to be an unsupported one.

    UNO IllegalArgument during import phase: Source file cannot be read. URL seems to be an unsupported one.

    If I try to convert http://www.users.dircon.co.uk/~hancock/antioch2.doc, I get an error:

    $ unoconv -f pdf antioch2.doc 
    unoconv: UnoException during conversion in <class '__main__.com.sun.star.lang.IllegalArgumentException'>: URL seems to be an unsupported one.
    Traceback (most recent call last):
      File "/usr/bin/unoconv", line 801, in <module>
        main()
      File "/usr/bin/unoconv", line 780, in main
        convertor.convert(inputfn)
      File "/usr/bin/unoconv", line 690, in convert
        error("ERROR: The provided document cannot be converted to the desired format. (code: %s)" % e.ErrCode)
      File "/usr/lib/python2.7/site-packages/uno.py", line 318, in _uno_struct__getattr__
        return __builtin__.getattr(self.__dict__["value"],name)
    AttributeError: ErrCode
    

    Many thanks for your help,

    Pablo

    support 
    opened by ousia 16
  • Converting filenames with non-ascii characters (ErrCode 2074)

    Converting filenames with non-ascii characters (ErrCode 2074)

    As I am trying to export doc files to jpeg I get the following error.

    I have restarted all my instances of openoffice, reinstalled everything, but still the same issue. Any idea what the reason is as I am on a dead end

    Input file: EWAD-CZ_press_release.doc
    Selected output format: Joint Photographic Experts Group [.jpg]
    Selected ooffice filter: draw_jpg_Export
    Used doctype: graphics
    unoconv: UnoException during conversion in <class __main__.com.sun.star.task.ErrorCodeIOException at 0x7f1e302f0590>:
    ERROR: The provided document cannot be converted to the desired format. (code: 2074)
    
    waiting for feedback support 
    opened by NDakotaBE 16
  • `--stdout` always trigger an error (ErrCode 3088)

    `--stdout` always trigger an error (ErrCode 3088)

    While unoconv -f pdf -o out.pdf input.doc works without a problem, unoconv -f pdf --stdout input.doc > /dev/null gives this error:

    unoconv: UnoException during export phase:
    Unable to store document to private:stream (ErrCode 3088)
    
    Properties: ((com.sun.star.beans.PropertyValue){ Name = (string)"Overwrite", Handle = (long)0x0, Value = (any){ (boolean)true }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)"FilterName", Handle = (long)0x0, Value = (any){ (string)"writer_pdf_Export" }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)"OutputStream", Handle = (long)0x0, Value = (any){ (com.sun.star.uno.XInterface)0x2142228{, supportedInterfaces={com.sun.star.lang.XTypeProvider,com.sun.star.io.XOutputStream}} }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE })
    

    This is with LibreOffice 4.1.0.

    This also has been reported to Debian as bug #718481

    waiting for feedback support 
    opened by vincentbernat 15
  • When documents are converted to PDF, formatting shifts

    When documents are converted to PDF, formatting shifts

    So I have an issue where students submit Moodle assignments and when they get converted by unoconv, the documents formatting is off. (I.E. Page numbers in the headers shift)

    opened by will-bulluck 0
  • "The document 'xxx' could not be opened" in listener mode

    Possibly relates to #237 #483 #402 - Root cause found in https://github.com/gotenberg/gotenberg/issues/516 (issue is in unoconv)

    Goal

    Converting plain PDF-files to PDF/A-1a files

    Commands

    unoconv --no-launch --format pdf --port 45379 -vvv --export SelectPdfVersion=1 --output out.pdf xxx.pdf
    

    Problem Description

    Using the listener-mode the PDF conversion will work at first, but fails after the libreoffice listener hasn't received any jobs in a bit (e.g. 20 minutes). In that case, the following output will happen (exit code 5):

    Verbosity set to level 3
    Using office base path: /usr/lib/libreoffice
    Using office binary path: /usr/lib/libreoffice/program
    DEBUG: Connection type: socket,host=127.0.0.1,port=45379,tcpNoDelay=1;urp;StarOffice.ComponentContext
    Input file: xxxx.pdf
    unoconv: UnoException during import phase:
    The document 'file:///home/gotenberg/xxxx.pdf' could not be opened.
    

    Sadly I haven't found any logs regarding LibreOffice anywhere. When killing the libreoffice process, which will force a recreation of libreoffice by unoconv, that'll be fixed. That's just no option for a production usage.

    Expectation

    The libreoffice listener should accept commands even after having no jobs for a few hours or more. The instance itself seems to be healthy, no error is thrown in https://github.com/unoconv/unoconv/blob/master/unoconv#L1015 which makes the debugging not really possible.

    Are there any alternatives?

    Sadly, https://github.com/unoconv/unoserver/ is no alternative in this case as unoserver does not support the PDF/A conversion (yet?)

    opened by PierreSchwang 0
  • export a document containing a png image without a background

    export a document containing a png image without a background

    I'm trying to convert a docx file that contains a png image without a background, after I convert to pdf the png image it has a white background, how do I keep the document with my image without a background ?

    opened by ikhsank66 0
  • Supporting math

    Supporting math

    For the record, it would be quite useful for our purposes (education) if Unoconv could convert HTML with equations (MathML or LaTeX) to docx with editable equations. Would this be possible?

    opened by Opussci 0
  • Ignoring Special Characters & Art

    Ignoring Special Characters & Art

    When converting to pdf, it keeps all special characters and arts, this is very good indeed, but I want to remove them when the conversion is done.

    Is there anyway to do this?

    Anyone could help?

    Thanks,

    opened by SolutionsDEV 0
  • Windows version

    Windows version

    Hi there,

    I know unoconv is deprecated, but for reasons of my project, I have to use it.

    So, my computer has Windows 10 : how to install the deprecated unoconv lib? Which version of Python do you recommend us?

    Thanks in advance. Brs.

    opened by abelardolg 0
Releases(0.8.2)
  • 0.8.2(Dec 7, 2017)

    This is a minor release to fix the upload to PyPI.

    Changes since 0.7:

    • Add option -M/--meta to add or update document metadata during conversion
    • Add option -I/--input-filter-name to specify input format (Martijn van de Streek)
    • Added setup.py to support standard Python installs, like pip, etc.
    • Dropped support for OpenOffice 3.3 and 3.4
    • Fix for Python 3 to read binary data from stdin (Carlos Noguera)
    • Fix for password protected files (Marijn Ophorst)
    • Make -F switch working for user-defined fields (Belegnar)
    Source code(tar.gz)
    Source code(zip)
  • 0.8(Dec 7, 2017)

    • Add option -M/--meta to add or update document metadata during conversion
    • Add option -I/--input-filter-name to specify input format (Martijn van de Streek)
    • Added setup.py to support standard Python installs, like pip, etc.
    • Dropped support for OpenOffice 3.3 and 3.4
    • Fix for Python 3 to read binary data from stdin (Carlos Noguera)
    • Fix for password protected files (Marijn Ophorst)
    • Make -F switch working for user-defined fields (Belegnar)
    Source code(tar.gz)
    Source code(zip)
xlwings is a BSD-licensed Python library that makes it easy to call Python from Excel and vice versa. It works with Microsoft Excel on Windows and macOS.

xlwings - Make Excel fly with Python! xlwings (Open Source) xlwings is a BSD-licensed Python library that makes it easy to call Python from Excel and

xlwings 2.5k Jan 06, 2023
According to the received excel file (.xlsx,.xlsm,.xltx,.xltm), it converts to word format with a given table structure and formatting

According to the received excel file (.xlsx,.xlsm,.xltx,.xltm), it converts to word format with a given table structure and formatting

Diakonov Andrey 2 Feb 18, 2022
Upload an Excel/CSV file ( < 200 MB) and produce a short summary of the data.

Data-Analysis-Report Deployed App 1. What is this app? Upload an excel/csv file and produce a summary report of the data. 2. Where to upload? How to p

Easwaran T H 0 Feb 26, 2022
Reads Data from given Excel File and exports Single PDFs and a complete PDF grouped by Gateway

E-Shelter Excel2QR Reads Data from given Excel File and exports Single PDFs and a complete PDF grouped by Gateway Features Reads Excel 2021 Export Sin

Stefan Knaak 1 Nov 13, 2021
Excel-report-evaluator - A simple Python GUI application to aid with bulk evaluation of Microsoft Excel reports.

Excel Report Evaluator Simple Python GUI with Tkinter for evaluating Microsoft Excel reports (.xlsx-Files). Usage Start main.py and choose one of the

Alexander H. 1 Dec 29, 2021
PowerShell module to import/export Excel spreadsheets, without Excel

PowerShell + Excel = Better Together Automate Excel via PowerShell without having Excel installed. Runs on Windows, Linux and MAC. Creating Tables, Pi

Doug Finke 2k Dec 30, 2022
ObjTables: Tools for creating and reusing high-quality spreadsheets

ObjTables: Tools for creating and reusing high-quality spreadsheets ObjTables is a toolkit which makes it easy to use spreadsheets (e.g., XLSX workboo

Karr whole-cell modeling lab 7 Jun 14, 2021
Transpiler for Excel formula like language to Python. Support script and module mode

Transpiler for Excel formula like language to Python. Support script and module mode (formulas are functions).

Edward Villegas-Pulgarin 1 Dec 07, 2021
Please use openpyxl where you can...

xlrd xlrd is a library for reading data and formatting information from Excel files in the historical .xls format. Warning This library will no longer

2k Dec 29, 2022
Single API for reading, manipulating and writing data in csv, ods, xls, xlsx and xlsm files

pyexcel - Let you focus on data, instead of file formats Support the project If your company has embedded pyexcel and its components into a revenue ge

1.1k Dec 29, 2022
xlwings is a BSD-licensed Python library that makes it easy to call Python from Excel and vice versa. It works with Microsoft Excel on Windows and macOS. Sign up for the newsletter or follow us on twitter via

xlwings - Make Excel fly with Python! xlwings CE xlwings CE is a BSD-licensed Python library that makes it easy to call Python from Excel and vice ver

xlwings 2.5k Jan 06, 2023
A Python module for creating Excel XLSX files.

XlsxWriter XlsxWriter is a Python module for writing files in the Excel 2007+ XLSX file format. XlsxWriter can be used to write text, numbers, formula

John McNamara 3.1k Dec 29, 2022
Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 XLS files, on any platform.

xlwt This is a library for developers to use to generate spreadsheet files compatible with Microsoft Excel versions 95 to 2003. The package itself is

1k Dec 24, 2022
BoobSnail allows generating Excel 4.0 XLM macro.

BoobSnail allows generating Excel 4.0 XLM macro. Its purpose is to support the RedTeam and BlueTeam in XLM macro generation.

STM Cyber 232 Nov 21, 2022
ExcelPeek is a tool designed to help investigate potentially malicious Microsoft Excel files.

ExcelPeek is a tool designed to help investigate potentially malicious Microsoft Excel files.

James Slaughter 37 Apr 16, 2022
Xiaobo Zhang 30 Jan 08, 2023
A wrapper library to read, manipulate and write data in xlsx and xlsm format using openpyxl

pyexcel-xlsx - Let you focus on data, instead of xlsx format pyexcel-xlsx is a tiny wrapper library to read, manipulate and write data in xlsx and xls

110 Nov 16, 2022
Create Open XML PowerPoint documents in Python

python-pptx is a Python library for creating and updating PowerPoint (.pptx) files. A typical use would be generating a customized PowerPoint presenta

Steve Canny 1.7k Jan 05, 2023
Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.

Tablib: format-agnostic tabular dataset library _____ ______ ___________ ______ __ /_______ ____ /_ ___ /___(_)___ /_ _ __/_ __ `/__ _

Jazzband 4.2k Dec 30, 2022
Use a docx as a jinja2 template

python-docx-template Use a docx as a jinja2 template Introduction This package uses 2 major packages : python-docx for reading, writing and creating s

Eric Lapouyade 1.4k Dec 28, 2022