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.

Overview

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 vice versa:

  • Scripting: Automate/interact with Excel from Python using a syntax that is close to VBA.
  • Macros: Replace your messy VBA macros with clean and powerful Python code.
  • UDFs: Write User Defined Functions (UDFs) in Python (Windows only).
  • REST API: Expose your Excel workbooks via REST API.

Numpy arrays and Pandas Series/DataFrames are fully supported. xlwings-powered workbooks are easy to distribute and work on Windows and Mac.

xlwings includes all files in the xlwings package except the pro folder, i.e. the xlwings.pro subpackage.

xlwings PRO

The purpose of xlwings PRO is to finance the continued maintenance and enhancement of xlwings. This will allow you to rely on the package without being left with the dreaded "this library currently has no active maintainers" message that happens to too many open-source packages after a couple of years.

To get access to the additional functionality of xlwings PRO, you need a (trial) license key and at least xlwings v0.19.0. Everything under the xlwings.pro subpackage is distributed under a commercial license, see https://github.com/xlwings/xlwings/blob/master/LICENSE_PRO.txt.

Links

xltrail

The Excel add-in is version controlled with xltrail. You can see the diffs here.

Comments
  • RunPython raises 'error 70, permission denied'

    RunPython raises 'error 70, permission denied'

    Hi, I work with xlwings for longer time and I never run in problems. But since yesterday, when I try to call Python from a Ecel Macro via RunPython, I got an 'error 70, permission denied', also with older applications working reliable in the past. It seems that some necessary file is blocked by some process. I does not made any updates of the Python environment, excel or xlwings at the moment the issue appears. Killing all Excel and Python processes does not help, a restart of the computer does also not help.

    Has someone an idea what is going wrong,

    Many thanks Michael

    opened by FXCMAPI 40
  • ImportPython UDFs Error

    ImportPython UDFs Error

    Hello

    I am a beginner in Python.

    I tried to execute a sample file called "udf.xlsm" to understand xlwings but I get an error message every time (see below) : [Error 2] The specified file can not be found

    capture

    Can you help me to solve this issue ?

    Thank you for your help.

    David

    opened by davidl5 35
  • add proper conda env support for RunPython

    add proper conda env support for RunPython

    OS (e.g. Windows 10 or macOS Sierra)

    Windows 10 64bit 1709

    Versions of xlwings, Excel and Python (e.g. 0.11.8, Office 365, Python 3.7)

    0.12.1(xlwings-0.12.1-py37_0), Office 365, Python 3.7 distributed by anaconda(python-3.7.0-hea74fb7_0)

    Describe your issue (incl. Traceback!)

    When I click Run button of simulation.xlsm in this repo's eamples, an import error occurs which having flowing traceback:

    Traceback (most recent call last):
    File "", line 1, in 
    File "C:\Users\someone\AppData\Local\Continuum\miniconda3\lib\site-packages\numpy_init_.py", line 142, in 
    from . import add_newdocs
    File "C:\Users\someone\AppData\Local\Continuum\miniconda3\lib\site-packages\numpy\add_newdocs.py", line 13, in 
    from numpy.lib import add_newdoc
    File "C:\Users\someone\AppData\Local\Continuum\miniconda3\lib\site-packages\numpy\lib_init_.py", line 8, in 
    from .type_check import *
    File "C:\Users\someone\AppData\Local\Continuum\miniconda3\lib\site-packages\numpy\lib\type_check.py", line 11, in 
    import numpy.core.numeric as nx
    File "C:\Users\someone\AppData\Local\Continuum\miniconda3\lib\site-packages\numpy\core_init.py", line 26, in 
    raise ImportError(msg)
    ImportError:
    Importing the multiarray numpy extension module failed. Most
    likely you are trying to import a failed build of numpy.
    If you're working with a numpy git repo, try git clean -xdf (removes all
    files not under version control). Otherwise reinstall numpy.
    
    

    This issue only happened when I have upgraded python from 3.6 to 3.7 within anaconda. So I have created an issue #10205 in anaconda-issues which has been soon closed by anaconda engineer. As his description:

    I removed a hack deep in the guts of our python recently whereby it modified the PATH environment variable if it detected activation may not have happened correctly. This breaks countless things in 3rd party software.

    I have no choice but wish your team would follow the change to make xlwings working again if scripts using some numpy function.

    Include a minimal code sample to reproduce the issue (and attach a sample workbook if required!)

    Just the demo simulation could repeat this issue.

    It seems only related to scripts which has involve numpy now, but it might bring same issues to some other 3rd packages.

    opened by timeregained 33
  • Asyncio

    Asyncio

    Add support for async UDFs (i.e. coroutines - see async_tests.xlsm) and hopefully fix array issues.

    This should replace PR #1177 / fix #1164; the "disappearing arrays" happen because clear_contents is called successfully but the .formula_array = line silently fails due to the COM object being bound to the wrong thread (I think) - leaving you with empty cells. This PR introduces the ComRange subclass to handle marshalling the .impl objects correctly across threads.

    Lays the groundwork for native Excel async functionality.

    opened by njwhite 32
  • With version 0.7.2, I get this error when I attempt to xlwings.Workbook.caller()

    With version 0.7.2, I get this error when I attempt to xlwings.Workbook.caller()

    2.7.11 |Anaconda 4.0.0 (64-bit)| (default, Feb 16 2016, 09:58:36) [MSC v.1500 64 bit (AMD64)] xlwings version: 0.7.2, path: 'C:\Users\hidden\AppData\Local\Continuum\Anaconda2\lib\site-packages\xlwings'

    This is trace back of the error:

    Error

    Traceback (most recent call last):
    
      File "<string>", line 1, in <module>
    
      File "hidden.py", line 77, in ...
    
       wb = xw.Workbook.caller()
    
      File "C:\Users\hidden\AppData\Local\Continuum\Anaconda2\lib\site-packages\xlwings\main.py", line 236, in caller
    
        xl_app, xl_workbook = xlplatform.get_open_workbook(fullname, hwnd=sys.argv[4])
    
      File "C:\Users\hidden\AppData\Local\Continuum\Anaconda2\lib\site-packages\xlwings\_xlwindows.py", line 142, in get_open_workbook
    
        duplicate_fullnames = get_duplicate_fullnames()
    
      File "C:\Users\hidden\AppData\Local\Continuum\Anaconda2\lib\site-packages\xlwings\_xlwindows.py", line 124, in get_duplicate_fullnames
    
        for xl_app in get_xl_apps():
    
      File "C:\Users\hidden\AppData\Local\Continuum\Anaconda2\lib\site-packages\xlwings\_xlwindows.py", line 96, in get_xl_apps
    
        xl_app = get_xl_app_from_hwnd(hwnd)
    
      File "C:\Users\hidden\AppData\Local\Continuum\Anaconda2\lib\site-packages\xlwings\_xlwindows.py", line 73, in get_xl_app_from_hwnd
    
        return disp.Application
    
      File "C:\Users\hidden\AppData\Local\Continuum\Anaconda2\lib\site-packages\win32com\client\dynamic.py", line 527, in __getattr__
    
        raise AttributeError("%s.%s" % (self._username_, attr))
    
    AttributeError: <unknown>.Application
    
    
    
    Press Ctrl+C to copy this message to the clipboard.
    

    OK

    opened by ededovic 29
  • "Bad DLL calling convention 49..." on Importing UDFs

    I have the latest release of xlwings, 0.11.4, (obtained from pip) and have added the Excel add-in according to the instructions. I am having problems with the Excel add-in menu from the ribbon, and the latest version of the VBA code for 0.11.4.

    I've been able to successfully run Example 6 "udf.zip", but I have to manually run the "ImportPythonUDFs" from the VBA code rather than click the "Import Functions" button from the ribbon. Doing so gives me a "Bad DLL calling convention 49..." error.

    The bigger problem is that I cannot start a new project using the commands "xlwings quickstart test" or "xlwings quickstart test --standalone" as when I do I cannot import the User Defined Functions either from the ribbon or by manually running the "ImportPythonUDFs" function from the VBA. Both of these now result in the "Bad DLL calling convention 49" error.

    The difference seems to relate to changes in the VBA from the version in the example (0.9.3) which is working ok and the VBA from quickstart in the newest version (0.11.4).

    image

    opened by johnmatthewswift 28
  • Unable to install xlwings 0.11.0

    Unable to install xlwings 0.11.0

    On Windows 7 with Python 2.7 x64, using pip install xlwings:

     copying xlwings\tests\sample_picture.png -> build\lib\xlwings\tests
     copying xlwings\quickstart.xlsm -> build\lib\xlwings
     copying xlwings\quickstart_standalone_mac.xlsm -> build\lib\xlwings
     error: [Errno 13] Permission denied: 'xlwings\\quickstart_standalone_mac.xlsm'
    
      ----------------------------------------
      Failed building wheel for xlwings
    
    opened by slishak 26
  • Automation Error 440 when Importing UDFs

    Automation Error 440 when Importing UDFs

    I've tried to import UDF but get "Automation error 440"

    Windows 7 32-bit Microsoft Excel 2016 (Office 365) Python 3.6 Anaconda 5.2 xlwings: 0.11.5 (I believe... will circle back to confirm.. installed via conda)

    I tried to troubleshoot this issue using suggestions online, to no avail... I get the same 'automation error' when trying to import UDF's through the "quickstart" template file / from prompt.

    Any other information I can provide, please let me know..

    opened by bushidoji 25
  • problem with same workbook opened in two different Excel instances

    problem with same workbook opened in two different Excel instances

    If the exact same workbook is opened in two different Excel instances, calling xlwings from one of the two will "fail" as xlwings will get back the first excel workbook available in the ROT. Therefore running the python code on the wrong workbook. This leads to weird behavior for the user.

    A workable solution to at least detect the issue maybe to pass the Application.Hwnd as 4th argument to python (besides the ["-c", workbook path, "from_xl"] arguments). This would then allow to check in the Workbook.caller() function that the returned workbook wb has wb.xl_app.Hwnd == Hwnd from Excel.

    Better would be to get directly the proper workbook (instead of just throwing an error in case of issue as here above) using the window handle of the workbook/excel window (see answer of Peter Thornton in https://social.msdn.microsoft.com/Forums/office/en-US/e3e99712-01a7-483e-bf0e-52bb1f94889c/how-to-use-accessibleobjectfromwindow-api-in-vba-to-get-excel-application-object-from-excel?forum=exceldev for VBA example). But I could not succeed in transforming this code into proper python code to propose a full blown solution under windows. This approach could also allow to get back the Excel that is the "active" one (using the Hwnd of the caller Excel and the code referenced here above).

    bug 
    opened by sdementen 25
  • Could not activate Python COM server, hr = -2147221164 1000

    Could not activate Python COM server, hr = -2147221164 1000

    Versions of xlwings, Excel and Python (e.g. 0.21.4, Office 365, Python 3.8

    My issue:

    I get the following message(I see from earlier posts that I'm not alone):

    "Could not activate Python COM server, hr = -2147221164 1000"

    I updated Xlwings to version 0.21.4 yesterday and nothing worked except, when I run "Run main" it prints ""Hello xlwings". It obviously reads my module but import of UDF module(which is the same py file) doesn't work.

    Any idea where I should start? I appreciate any feedback here.

    Magne

    opened by MagneAA 24
  • update issue : file not found xlwings32-0.15.1.dll

    update issue : file not found xlwings32-0.15.1.dll

    OS (e.g. Windows 10 or macOS Sierra)

    windows 7

    Versions of xlwings, Excel and Python (e.g. 0.11.8, Office 365, Python 3.7)

    from xlwings 0.15.1 to xlwings 0.15.5

    Describe your issue (incl. Traceback!)

    python 3.7

    I have a excel file that use xlwings 0.15.1, I upgrade the package and the addin to 0.15.5

    when I run a function imported from the python script I have an error message File note found: xlwings32-0.15.1.dll

    How Can I make the xlwings point to the new dll file xlwings32-0.15.5.dll

    Best Regards, Saif.

    opened by Hmissa 23
  • Question re F9 with Asynchronously Functions

    Question re F9 with Asynchronously Functions

    OS (e.g. Windows 10 or macOS Sierra)

    Windows 10

    Versions of xlwings, Excel, and Python (e.g. 0.11.8, Office 365, Python 3.7)

    xlwings==0.28.6 Excel Office 365 Python 3.8

    Describe your issue (incl. Traceback!)

    I'm loving Asynchronous UDFs to retrieve API data. However, say I have 100 cells retrieving asynchronously and say the API data changes frequently. F9 (Excel shortcut key) doesn't seem to trigger a new API call. So every two minutes, I have to press "Import Functions" again and then F9 works and refreshes all the data. Is there a setting needed to enable F9 out of the box without having to import all functions every time?

    opened by pandichef 1
  • Currency with 6 decimal places is collapsed to 2 decimal places when copy pasted

    Currency with 6 decimal places is collapsed to 2 decimal places when copy pasted

    Windows 10 (64.bit)

    xlwings version 0.28.7, Office 365, Python 3.10.6 (64-bit)

    Trying to copy currency with 6 digits to the right of the decimal point (Treasury Bill price) in cell A3 to cell A2; value in A2 has only 2 significant digits. This is Method 1 described below. I think this issue is substantially similar to #2130 (PrzemyslawKepka).

    I first insert a new row (row 2 post insertion) above the original row 2 (with values to be copied) with formatting copied from original row (row 3 post insertion).

    Method 1 in column A. Assign the value of the new cell (D2) to the value of the original cell (D3) The currency value in the new cell is rounded to two digits to the right of the decimal place. THIS IS NOT DESIRED.

    Method 2 in column B. Step 1. Change format of B3 to General. Step 2. Assign the value of B2 to B3. Step 3. Change the format of B3 back to Currency with 6 decimal places This works! This solution courtesy of Moken on Stack Overflow

    Method 2 in column B. Step 1. Copy the value of the the original cell (C3). Step 2. Paste the clipboard to the new cell C2. The number is copied correctly.

    The number format of the columns in Excel is Currency with $ symbol and 6 decimal places

    Why does Method 1 fail? It seems that it should work?

    CODE

    import xlwings as xw
    
    wb = xw.Book("copyPaste.xlsx")
    
    ws1 = wb.sheets["oneRow"]
    ws1.range("2:2").insert('down',copy_origin='format_from_right_or_below')  # insert blank row 2
    
    ws1.range("A2").value = ws1.range("A3").value  # Method 1.  FAILS
    
    ws1.range("B3").number_format = '@'   # Method 2.  Works.  Change format to General
    ws1.range("B2").value = ws1.range("B3").value
    ws1.range("B3").number_format = '$#,##0.000000' # change format back to Currency
    
    ws1.range("C3").copy()   # Method 3.  Works
    ws1.range("C2").paste(paste="values")
    

    Spreadsheet BEFORE running code: image

    Spreadsheet AFTER running code: image NOTE that the value in cell A2 has been rounded to 2 decimal places although 6 decimal places are displayed.

    opened by bfletcherjohnson 1
  • Truncated Decimals while writing a numpy array to excel

    Truncated Decimals while writing a numpy array to excel

    OS (e.g. Windows 10 or macOS Sierra)

    Windows 10

    Versions of xlwings, Excel and Python (e.g. 0.11.8, Office 365, Python 3.7)

    xlwings 0.23.4, Excel 2016, Python 3.7

    Describe your issue (incl. Traceback!)

    I'm using xlwings to write data from a database to a pre-formatted excel file. So firstly i query the database (on Teradata), result is loaded in python as a pandas dataframe, and then particular columns are converted to numpy array and loaded to excel file.

    While doing it, I've noticed that decimal precision is lost in the process, and instead of a number with e.g. 10 decimal places, that number in excel lands with only 2 decimal points. Additionally, certain formats are changed to 'Currency'.

    Firstly, as a workaround I've been adding additional characters for each value inside numpy array, converting data format to '@' (doing only this conversion without additional characters didn't help), and then changing the format back and removing all redundant characters, and it worked that way.

    But later I did some more digging, and have found the real issue here. So when I've been taking single float columns with many digits from a pandas dataframe to a numpy array, their data type was decimal.Decimal (Decimal from decimal, additional python module), not standard float data type. Thus it looks like whenever data type inside numpy array is Decimal, the numbers in excel will be truncated only to 2 decimal places. So my aforementioned workaround works because I no longer have Decimals inside numpy array, but strings.

    Include a minimal code sample to reproduce the issue (and attach a sample workbook if required!)

    Fully reproducible example here (format change can also be observed):

    import decimal
    import numpy as np
    import xlwings as xw
    
    wb = xw.Book()
    sheet = wb.sheets['Sheet1']
    
    sheet.range('A1').value = 'Standard data type - float'
    sheet.range('F1').value = 'Decimal data type'
    sheet.range('A1:E1').merge()
    sheet.range('F1:J1').merge()
    sheet.range('A1').api.HorizontalAlignment = xw.constants.HAlign.xlHAlignCenter
    sheet.range('F1').api.HorizontalAlignment = xw.constants.HAlign.xlHAlignCenter
    sheet.range('A2').value = 'No_format'
    sheet.range('B2').value = 'Number_no_decimals'
    sheet.range('C2').value = 'Number with_decimals'
    sheet.range('D2').value = 'Percentage'
    sheet.range('E2').value = 'Text_placeholder'
    sheet.range('F2').value = 'No_format'
    sheet.range('G2').value = 'Number_no_decimals'
    sheet.range('H2').value = 'Number with_decimals'
    sheet.range('I2').value = 'Percentage'
    sheet.range('J2').value = 'Text_placeholder'
    sheet.range('B3:B52').number_format = '# ##0'
    sheet.range('C3:C52').number_format = '0.00'
    sheet.range('D3:D52').number_format = '0.00%'
    sheet.range('E3:E52').number_format = '@'
    sheet.range('G3:G52').number_format = '# ##0'
    sheet.range('H3:H52').number_format = '0.00'
    sheet.range('I3:I52').number_format = '0.00%'
    sheet.range('J3:J52').number_format = '@'
    
    np_array = np.random.uniform(0, 100000, 50)
    np_array_1_standard = np.array([[i] for i in np_array])
    np_array_2_decimal = np.array([[decimal.Decimal(i)] for i in np_array])
    
    print('standard - numpy float', np_array_1_standard[0][0],type(np_array_1_standard[0][0]))
    print('decimal', np_array_2_decimal[0][0],type(np_array_2_decimal[0][0]))
    
    sheet[f'A3'].value = np_array_1_standard
    sheet[f'B3'].value = np_array_1_standard
    sheet[f'C3'].value = np_array_1_standard
    sheet[f'D3'].value = np_array_1_standard
    sheet[f'E3'].value = np_array_1_standard
    sheet[f'F3'].value = np_array_2_decimal
    sheet[f'G3'].value = np_array_2_decimal
    sheet[f'H3'].value = np_array_2_decimal
    sheet[f'I3'].value = np_array_2_decimal
    sheet[f'J3'].value = np_array_2_decimal
    
    sheet.autofit(axis='columns')
    

    xlwings_decimal_issue

    I've been looking for such issue being mentioned already, but I've found only these two topics: https://stackoverflow.com/questions/69213138/xlwings-reading-range-of-floats-as-decimals-and-truncates-decimals https://github.com/xlwings/xlwings/issues/1644 So I'm not sure if this more of an excel issue with not handling Decimals conversion rather than xlwings issue itself (not talking about automatic conversion of course, although it could be possible i guess), but I think this is at least worth mentioning.

    opened by PrzemyslawKepka 3
  • xlwings.XlwingsError: Make sure to have

    xlwings.XlwingsError: Make sure to have "appscript" and "psutil", dependencies of xlwings, installed.

    OS (e.g. Windows 10 or macOS Sierra)

    Mac OS Apple M2 Ventura 13.1 (22C65)

    Versions of xlwings, Excel and Python (e.g. 0.11.8, Office 365, Python 3.7)

    Python 3.9.13 Excel for Mac 16.68 appscript 1.1.2 psutil 5.9.0 xlwings 0.27.15

    Describe your issue (incl. Traceback!)

    I am trying to use the package and am encountering this error. It works on jupyter notebook but not on pycharm.

    I have tried reinstalling all packages but doesn't work.

    Traceback (most recent call last):
      File "/Users/xxx/Desktop/TD API/test.py", line 3, in <module>
        wb = xw.Book()
             ^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/xlwings/main.py", line 938, in __init__
        if apps.active:
           ^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/xlwings/main.py", line 212, in active
        for app in self.impl:
                   ^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/xlwings/main.py", line 5119, in impl
        raise XlwingsError(
    xlwings.XlwingsError: Make sure to have "appscript" and "psutil", dependencies of xlwings, installed.
    

    Include a minimal code sample to reproduce the issue (and attach a sample workbook if required!)

    import xlwings as xw
    
    wb = xw.Book()
    
    opened by lssee003 1
  • How to catch exceptions in VBA thrown from Python when using RunPython?

    How to catch exceptions in VBA thrown from Python when using RunPython?

    I'm using RunPython because it is simpler to setup. I haven't had luck running UDF as described here https://docs.xlwings.org/en/stable/udfs.html, on VBA always says Syntax error on the unknown UDF python function.

    So I do from Python:

    def test():
        raise ValueError("test catching this")
    

    then from VBA:

    Sub Test()
       On Error Goto PythonError
       RunPython(“import module; module.test()”)
       Exit Sub
    PythonEror:
       ‘Do something sensible 
    End Sub
    

    the Goto PythonError is bypassed and the exception is propagated all the way to Excel and shown to the user.

    How can I get this to work? do we have to raise a specific xlwings exception for VBA to be able to catch it?

    opened by bravegag 6
  • unable to import UDF's via xlwings

    unable to import UDF's via xlwings

    Windows 10 Versions of xlwings, Excel and Python (e.g. 0.28.5, Office 365, Python 3.7)

    hi, i'm unable to import the udf in excel. i save the excel file in .xlsm format with the same name for python script code and also in the same folder. I have enable Trust access to VBA Project object model and checked the xlwings on VBA editor>tools>References. Eventhough i am getting error as ModuleNotFoundError

    here pm is my python file name as pm.py my Your code is

    import xlwings as xw

    xw.func def anyfunc(a, c, d): return a+c*d

    When Debug UDFs is checked, the error is as error_after_checking_debug

    Please help in this issue Regards Govinda

    opened by GovindaDumaru 5
Releases(0.28.7)
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
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
A suite of utilities for converting to and working with CSV, the king of tabular file formats.

csvkit is a suite of command-line tools for converting to and working with CSV, the king of tabular file formats. It is inspired by pdftk, GDAL and th

wireservice 5.2k Dec 31, 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
PyExcelerate - Accelerated Excel XLSX Writing Library for Python 2/3

PyExcelerate Accelerated Excel XLSX writing library for Python master: dev: test coverage: Authors: Kevin Wang and Kevin Zhang Copyright 2015 Kevin Wa

448 Dec 28, 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.

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
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
Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.

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

Jazzband 4.2k Dec 30, 2022
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
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
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
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
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
Universal Office Converter - Convert between any document format supported by LibreOffice/OpenOffice.

Automated conversion and styling using LibreOffice Universal Office Converter (unoconv) is a command line tool to convert any document format that Lib

2.4k Jan 03, 2023
Xiaobo Zhang 30 Jan 08, 2023
A set of Python scripts for finding threats in Office365

Py365 A collection of scripts for finding threats in Office365 Risky Rules A tool for finding risky or suspicious inbox rules - more detail in this po

Martin Rothe 49 May 18, 2022
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
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
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
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