Fully automate your Excel and PDF reports

Use Excel templates to generate pixel-perfect PDF reports

xlwings Reports requires a paid plan, see Pricing.

Excel, the tool every business user loves

These days you can choose from a wide range of reporting and BI solutions like SAP Crystal Reports, Microsoft Power BI, Tableau or QlikView. However, they are expensive, come with a steep learning curve and are therefore usually handled by a dedicated team.

By using xlwings Reports as your reporting tool, business users can design and maintain their own reports directly within Excel without being dependent on a dedicated reporting team or Python programmer.

If you need to provide the data behind the report, it’s already there - no need to click that “Export to Excel button” in your favorite BI system.

The following sample reports were all built from the same template: Fund A, Fund B, Fund C. Want to see the template and Python code? Check out the repository on GitHub.


Flexibility with Excel templates

While it’s easy to use xlwings to automate reporting, it’s a hassle to keep the Excel template and the Python code in sync. xlwings Reports fixes this.

Instead of assigning your data to a specific Excel cell in your Python code, you simply use placeholders like {{ reference_date }} directly in your spreadsheet. It doesn’t matter if that placeholder refers to a Pandas DataFrame or just a single word in a text block.

You never have to adjust your code again when you redesign your report. Business users can change their templates and create new ones without depending on a Python developer every time they insert a new row somewhere.


Frames for dynamic tables

xlwings Reports uses Frames to align dynamic tables vertically: xlwings Reports will automatically insert rows for as long as your table is and apply the same styling as defined in your template—you save hours of manual reformatting.


Connect to any data source with Python

Python has become one of the most wildly used programming languages today. It has a big ecosystem so you can connect to literally anything you like whether that’s SQL/noSQL databases or text and Excel files.

You can also connect to your big data solution and you can even use web scraping to get to your data. Also, chances are that your internal systems either offer a Python SDK or will otherwise be accessible via REST API.

Instead of using slow and complex Pivot tables, you can leverage Python’s rich ecosystem. For example, pandas allows for fast and easy data wrangling via DataFrames.


Start simple, customize for advanced usage

Need some extra control over your reporting process? You can always use the full xlwings functionality together with xlwings Reports achieving whatever you need.

Need to produce reports with different date formats? Just provide a selection for the user to choose from.

Does the report need to be behave differently depending on which day it is produced? Simply code the logic in Python—whatever you need it to be.