SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
PDF factsheets
with xlwings Reports
Felix Zumstein
August 12, 2021
Agenda
1. Introduction
2. What’s wrong with reporting?
3. Demos: xlwings Reports
2
1. Introduction
4
xlwings
• I released the first version of xlwings in 2014
• After working on it for 6 years as an open-
source project, I realized two things:
– Putting in the required amount of work for $0 is
unsustainable
– Most users are using xlwings for some sort of reporting
• Consequence: Either make it abandonware or
find a way to fund the project
5
I wrote a Book (March 2021)
I. Introduction to Python
II. Introduction to pandas
III. Reading and Writing Excel
Files without Excel
IV.Programming the Excel
Application with xlwings
See: https://www.xlwings.org/book
2. What’s wrong with reporting?
7
What’s wrong with the others?
• Pure code solutions (e.g., ReportLab)
– Developer dependency / requires lots of code / slow development
• HTML/CSS-based solutions (e.g., Plotly Dash)
– Code and design can be separated, but requires frontend knowledge
• BI tools (e.g., Power BI, Tableau, etc.)
– For interactive dashboards, not PDF reports / lack of connectors
• Connecting Excel with Word/PowerPoint
– Error prone / usually requires more than one template
• Desktop publishing (e.g., Adobe InDesign)
– Can’t be automated the way we want
8
What’s wrong with xlwings (OSS)?
for address in ['A1', 'B2', 'C3']:
mysheet[address].value = 'xlwings'
for address in ['A1', 'B2', 'C3']:
mysheet[address].value = 'xlwings'
'A3', 'B4', 'C5'
Code AND
template changes
Requires loops
9
xlwings Reports: Placeholders
create_report(
'template.xlsx',
'report.xlsx',
name='xlwings'
)
No code
changes
No loops
3. xlwings Reports: Demos
11
Separation of Code and Design
Pre-processing
(e.g., database query)
Post-processing
(e.g., upload to web server)
holdings,
asofdate,…
Reports (xlsx & PDF)
Template (xlsx)
Variables/
Placeholders
12
Demo 1: Placeholders & Filters
• Placeholders
{{ holdings }}
• Filters, e.g., biggest 5 positions:
{{ holdings | sortdesc(4) | head(5) }}
13
Demo 2: Full reporting pipeline
• Pre-processing
– Read data from various sources incl. text, Word and CSV files
– Clean/manipulate the data with pandas
• Report Generation
– xlsx and PDF
• Post-processing
– uploading it to the xlwings.org webpage via AWS S3
90 lines of code (!): https://github.com/xlwings/xlwings-factsheet-demo
14
Ways to run the reporting pipeline
• Excel workbook (used by the demo)
• Jupyter notebook
• Python script / CLI (e.g., for scheduler)
• Locally installed GUI
• Web-based UI
15
Summary: xlwings Reports
• Separation of concerns: code vs. design
• Template: one, and only one
• Layout: multi-column
• Text: formatting via Markdown
• Tables: dynamically formatted with powerful filters
• Charts: via Excel or Python (Matplotlib, Plotly)
• PDF: “Print” on PDF in corporate layout
16
Pricing
• From USD 82.50/month, your whole company can
run on xlwings Reports
• Developer license: only users who write Python
code need a paid license
• Tools can be used forever even if plan is cancelled
(but no support/upgrades)
• https://www.xlwings.org/pricing
17
How to get started
• Get a trial license from:
https://www.xlwings.org/trial
• Read the docs:
https://docs.xlwings.org/en/stable/reports.html
• Book a meeting with me:
https://calendly.com/felix-zumstein/xlwings
Thank You
Let’s connect:
https://www.linkedin.com/in/felix-zumstein

Contenu connexe

Tendances

Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Flink Forward
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
InfluxData
 
S4F00_EN_Col17 Overview of Financials in SAP S4HANA.pdf
S4F00_EN_Col17 Overview of Financials in SAP S4HANA.pdfS4F00_EN_Col17 Overview of Financials in SAP S4HANA.pdf
S4F00_EN_Col17 Overview of Financials in SAP S4HANA.pdf
lakshmi vara
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
Guido Schmutz
 

Tendances (20)

ORC Files
ORC FilesORC Files
ORC Files
 
Powering Interactive BI Analytics with Presto and Delta Lake
Powering Interactive BI Analytics with Presto and Delta LakePowering Interactive BI Analytics with Presto and Delta Lake
Powering Interactive BI Analytics with Presto and Delta Lake
 
Power BI Data Modeling.pdf
Power BI Data Modeling.pdfPower BI Data Modeling.pdf
Power BI Data Modeling.pdf
 
Dynamic Partition Pruning in Apache Spark
Dynamic Partition Pruning in Apache SparkDynamic Partition Pruning in Apache Spark
Dynamic Partition Pruning in Apache Spark
 
Hive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmarkHive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmark
 
Apache Calcite: One planner fits all
Apache Calcite: One planner fits allApache Calcite: One planner fits all
Apache Calcite: One planner fits all
 
Building an open data platform with apache iceberg
Building an open data platform with apache icebergBuilding an open data platform with apache iceberg
Building an open data platform with apache iceberg
 
Become Jythonic in FDMEE (KSCOPE15)
Become Jythonic in FDMEE (KSCOPE15)Become Jythonic in FDMEE (KSCOPE15)
Become Jythonic in FDMEE (KSCOPE15)
 
Building Data Product Based on Apache Spark at Airbnb with Jingwei Lu and Liy...
Building Data Product Based on Apache Spark at Airbnb with Jingwei Lu and Liy...Building Data Product Based on Apache Spark at Airbnb with Jingwei Lu and Liy...
Building Data Product Based on Apache Spark at Airbnb with Jingwei Lu and Liy...
 
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
 
Traditional BI VS Self Service BI
Traditional BI VS Self Service BITraditional BI VS Self Service BI
Traditional BI VS Self Service BI
 
Hive+Tez: A performance deep dive
Hive+Tez: A performance deep diveHive+Tez: A performance deep dive
Hive+Tez: A performance deep dive
 
YARN Federation
YARN Federation YARN Federation
YARN Federation
 
Apache HBase Performance Tuning
Apache HBase Performance TuningApache HBase Performance Tuning
Apache HBase Performance Tuning
 
HDFS Analysis for Small Files
HDFS Analysis for Small FilesHDFS Analysis for Small Files
HDFS Analysis for Small Files
 
Apache Arrow: Open Source Standard Becomes an Enterprise Necessity
Apache Arrow: Open Source Standard Becomes an Enterprise NecessityApache Arrow: Open Source Standard Becomes an Enterprise Necessity
Apache Arrow: Open Source Standard Becomes an Enterprise Necessity
 
S4F00_EN_Col17 Overview of Financials in SAP S4HANA.pdf
S4F00_EN_Col17 Overview of Financials in SAP S4HANA.pdfS4F00_EN_Col17 Overview of Financials in SAP S4HANA.pdf
S4F00_EN_Col17 Overview of Financials in SAP S4HANA.pdf
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
 
Presto on Apache Spark: A Tale of Two Computation Engines
Presto on Apache Spark: A Tale of Two Computation EnginesPresto on Apache Spark: A Tale of Two Computation Engines
Presto on Apache Spark: A Tale of Two Computation Engines
 

Similaire à Automate your PDF factsheets with xlwings Reports

Atlas.ti 8 質性分析軟體新功能介紹_祺荃企業有限公司
Atlas.ti 8 質性分析軟體新功能介紹_祺荃企業有限公司Atlas.ti 8 質性分析軟體新功能介紹_祺荃企業有限公司
Atlas.ti 8 質性分析軟體新功能介紹_祺荃企業有限公司
Cheer Chain Enterprise Co., Ltd.
 
Big_data_1674238705.ppt is a basic background
Big_data_1674238705.ppt is a basic backgroundBig_data_1674238705.ppt is a basic background
Big_data_1674238705.ppt is a basic background
NidhiAhuja30
 
20231004 JiraCon Team Spaces In Confluence
20231004 JiraCon Team Spaces In Confluence20231004 JiraCon Team Spaces In Confluence
20231004 JiraCon Team Spaces In Confluence
Craeg Strong
 
Pullareddy_tavva_resume.doc
Pullareddy_tavva_resume.docPullareddy_tavva_resume.doc
Pullareddy_tavva_resume.doc
T Pulla Reddy
 

Similaire à Automate your PDF factsheets with xlwings Reports (20)

Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019
Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019
Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019
 
Printing without printers
Printing without printersPrinting without printers
Printing without printers
 
Drupal for Higher Education and Virtual Learning
Drupal for Higher Education and Virtual LearningDrupal for Higher Education and Virtual Learning
Drupal for Higher Education and Virtual Learning
 
Atlas.ti 8 質性分析軟體新功能介紹_祺荃企業有限公司
Atlas.ti 8 質性分析軟體新功能介紹_祺荃企業有限公司Atlas.ti 8 質性分析軟體新功能介紹_祺荃企業有限公司
Atlas.ti 8 質性分析軟體新功能介紹_祺荃企業有限公司
 
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
Introduction to InfluxDB 2.0 & Your First Flux Query by Sonia Gupta, Develope...
 
Engage 2020 - Best Practices for analyzing Domino Applications
Engage 2020 - Best Practices for analyzing Domino ApplicationsEngage 2020 - Best Practices for analyzing Domino Applications
Engage 2020 - Best Practices for analyzing Domino Applications
 
Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Alluxio+Presto: An Architecture for Fast SQL in the Cloud
Alluxio+Presto: An Architecture for Fast SQL in the CloudAlluxio+Presto: An Architecture for Fast SQL in the Cloud
Alluxio+Presto: An Architecture for Fast SQL in the Cloud
 
Building bridges - Plone Conference 2015 Bucharest
Building bridges   - Plone Conference 2015 BucharestBuilding bridges   - Plone Conference 2015 Bucharest
Building bridges - Plone Conference 2015 Bucharest
 
epicenter2010 Open Xml
epicenter2010   Open Xmlepicenter2010   Open Xml
epicenter2010 Open Xml
 
Web Landscape - updated in Jan 2016
Web Landscape - updated in Jan 2016Web Landscape - updated in Jan 2016
Web Landscape - updated in Jan 2016
 
Big_data_1674238705.ppt is a basic background
Big_data_1674238705.ppt is a basic backgroundBig_data_1674238705.ppt is a basic background
Big_data_1674238705.ppt is a basic background
 
IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)
 
20231004 JiraCon Team Spaces In Confluence
20231004 JiraCon Team Spaces In Confluence20231004 JiraCon Team Spaces In Confluence
20231004 JiraCon Team Spaces In Confluence
 
Going offline with share point workspace
Going offline with share point workspaceGoing offline with share point workspace
Going offline with share point workspace
 
05 RD PoSD Tutorial_xhtml_to_html5_2016
05 RD PoSD Tutorial_xhtml_to_html5_201605 RD PoSD Tutorial_xhtml_to_html5_2016
05 RD PoSD Tutorial_xhtml_to_html5_2016
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source
 
Present and future of unified, portable, and efficient data processing with A...
Present and future of unified, portable, and efficient data processing with A...Present and future of unified, portable, and efficient data processing with A...
Present and future of unified, portable, and efficient data processing with A...
 
Pullareddy_tavva_resume.doc
Pullareddy_tavva_resume.docPullareddy_tavva_resume.doc
Pullareddy_tavva_resume.doc
 
Why Wait? Realtime Ingestion With Chen Qin and Heng Zhang | Current 2022
Why Wait? Realtime Ingestion With Chen Qin and Heng Zhang | Current 2022Why Wait? Realtime Ingestion With Chen Qin and Heng Zhang | Current 2022
Why Wait? Realtime Ingestion With Chen Qin and Heng Zhang | Current 2022
 

Plus de xlwings

Open Source in Quant Finance - xlwings
Open Source in Quant Finance - xlwingsOpen Source in Quant Finance - xlwings
Open Source in Quant Finance - xlwings
xlwings
 

Plus de xlwings (20)

xlwings for Google Sheets
xlwings for Google Sheetsxlwings for Google Sheets
xlwings for Google Sheets
 
Cross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with PythonCross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with Python
 
Tech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for ExcelTech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for Excel
 
xlwings performance
xlwings performancexlwings performance
xlwings performance
 
Git for Excel (Webinar)
Git for Excel (Webinar)Git for Excel (Webinar)
Git for Excel (Webinar)
 
Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)
 
xlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Pythonxlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Python
 
Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)
 
Automated testing of Excel Workbooks
Automated testing of Excel WorkbooksAutomated testing of Excel Workbooks
Automated testing of Excel Workbooks
 
Git for Excel
Git for ExcelGit for Excel
Git for Excel
 
Automated Testing of Excel Workbooks
Automated Testing of Excel WorkbooksAutomated Testing of Excel Workbooks
Automated Testing of Excel Workbooks
 
Git for Excel files webinar
Git for Excel files webinarGit for Excel files webinar
Git for Excel files webinar
 
xlwings Presentation (Excel & Python) Swiss FinteCH event
xlwings Presentation (Excel & Python) Swiss FinteCH eventxlwings Presentation (Excel & Python) Swiss FinteCH event
xlwings Presentation (Excel & Python) Swiss FinteCH event
 
Python. Finance. Excel. - The Thalesians
Python. Finance. Excel. - The ThalesiansPython. Finance. Excel. - The Thalesians
Python. Finance. Excel. - The Thalesians
 
For Python Quants Conference NYC 6th May 2016
For Python Quants Conference NYC 6th May 2016For Python Quants Conference NYC 6th May 2016
For Python Quants Conference NYC 6th May 2016
 
Open Source in Quant Finance - xlwings
Open Source in Quant Finance - xlwingsOpen Source in Quant Finance - xlwings
Open Source in Quant Finance - xlwings
 
Odsc presentation
Odsc presentationOdsc presentation
Odsc presentation
 
xlwings - For Python Quants Conference (London 2014)
xlwings - For Python Quants Conference (London 2014)xlwings - For Python Quants Conference (London 2014)
xlwings - For Python Quants Conference (London 2014)
 
xlwings Zurich Python User Group Meetup
xlwings Zurich Python User Group Meetupxlwings Zurich Python User Group Meetup
xlwings Zurich Python User Group Meetup
 
xlwings - Connecting Python with Excel
xlwings - Connecting Python with Excelxlwings - Connecting Python with Excel
xlwings - Connecting Python with Excel
 

Dernier

ch 2 asset classes and financial instrument.ppt
ch 2 asset classes and financial instrument.pptch 2 asset classes and financial instrument.ppt
ch 2 asset classes and financial instrument.ppt
ZawadAmin2
 
What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...
srcw2322l101
 
What is social media.pdf Social media refers to digital platforms and applica...
What is social media.pdf Social media refers to digital platforms and applica...What is social media.pdf Social media refers to digital platforms and applica...
What is social media.pdf Social media refers to digital platforms and applica...
AnaBeatriz125525
 
zidauu _business communication.pptx /pdf
zidauu _business  communication.pptx /pdfzidauu _business  communication.pptx /pdf
zidauu _business communication.pptx /pdf
zukhrafshabbir
 

Dernier (20)

FEXLE- Salesforce Field Service Lightning
FEXLE- Salesforce Field Service LightningFEXLE- Salesforce Field Service Lightning
FEXLE- Salesforce Field Service Lightning
 
Series A Fundraising Guide (Investing Individuals Improving Our World) by Accion
Series A Fundraising Guide (Investing Individuals Improving Our World) by AccionSeries A Fundraising Guide (Investing Individuals Improving Our World) by Accion
Series A Fundraising Guide (Investing Individuals Improving Our World) by Accion
 
ch 2 asset classes and financial instrument.ppt
ch 2 asset classes and financial instrument.pptch 2 asset classes and financial instrument.ppt
ch 2 asset classes and financial instrument.ppt
 
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdfبروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
 
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptxBlinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
 
Stages of Startup Funding - An Explainer
Stages of Startup Funding - An ExplainerStages of Startup Funding - An Explainer
Stages of Startup Funding - An Explainer
 
What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...
 
Aspire Time & Life Leadership Workshop 2024
Aspire Time & Life Leadership Workshop 2024Aspire Time & Life Leadership Workshop 2024
Aspire Time & Life Leadership Workshop 2024
 
Equinox Gold Corporate Deck May 24th 2024
Equinox Gold Corporate Deck May 24th 2024Equinox Gold Corporate Deck May 24th 2024
Equinox Gold Corporate Deck May 24th 2024
 
stock price prediction using machine learning
stock price prediction using machine learningstock price prediction using machine learning
stock price prediction using machine learning
 
What is social media.pdf Social media refers to digital platforms and applica...
What is social media.pdf Social media refers to digital platforms and applica...What is social media.pdf Social media refers to digital platforms and applica...
What is social media.pdf Social media refers to digital platforms and applica...
 
zidauu _business communication.pptx /pdf
zidauu _business  communication.pptx /pdfzidauu _business  communication.pptx /pdf
zidauu _business communication.pptx /pdf
 
Toyota Kata Coaching for Agile Teams & Transformations
Toyota Kata Coaching for Agile Teams & TransformationsToyota Kata Coaching for Agile Teams & Transformations
Toyota Kata Coaching for Agile Teams & Transformations
 
HR and Employment law update: May 2024.
HR and Employment law update:  May 2024.HR and Employment law update:  May 2024.
HR and Employment law update: May 2024.
 
Making Sense of Tactile Indicators: A User-Friendly Guide
Making Sense of Tactile Indicators: A User-Friendly GuideMaking Sense of Tactile Indicators: A User-Friendly Guide
Making Sense of Tactile Indicators: A User-Friendly Guide
 
Powers and Functions of CPCB - The Water Act 1974.pdf
Powers and Functions of CPCB - The Water Act 1974.pdfPowers and Functions of CPCB - The Water Act 1974.pdf
Powers and Functions of CPCB - The Water Act 1974.pdf
 
Potato Flakes Manufacturing Plant Project Report.pdf
Potato Flakes Manufacturing Plant Project Report.pdfPotato Flakes Manufacturing Plant Project Report.pdf
Potato Flakes Manufacturing Plant Project Report.pdf
 
HAL Financial Performance Analysis and Future Prospects
HAL Financial Performance Analysis and Future ProspectsHAL Financial Performance Analysis and Future Prospects
HAL Financial Performance Analysis and Future Prospects
 
8 Questions B2B Commercial Teams Can Ask To Help Product Discovery
8 Questions B2B Commercial Teams Can Ask To Help Product Discovery8 Questions B2B Commercial Teams Can Ask To Help Product Discovery
8 Questions B2B Commercial Teams Can Ask To Help Product Discovery
 
Raising Seed Capital by Steve Schlafman at RRE Ventures
Raising Seed Capital by Steve Schlafman at RRE VenturesRaising Seed Capital by Steve Schlafman at RRE Ventures
Raising Seed Capital by Steve Schlafman at RRE Ventures
 

Automate your PDF factsheets with xlwings Reports

  • 1. PDF factsheets with xlwings Reports Felix Zumstein August 12, 2021
  • 2. Agenda 1. Introduction 2. What’s wrong with reporting? 3. Demos: xlwings Reports 2
  • 4. 4 xlwings • I released the first version of xlwings in 2014 • After working on it for 6 years as an open- source project, I realized two things: – Putting in the required amount of work for $0 is unsustainable – Most users are using xlwings for some sort of reporting • Consequence: Either make it abandonware or find a way to fund the project
  • 5. 5 I wrote a Book (March 2021) I. Introduction to Python II. Introduction to pandas III. Reading and Writing Excel Files without Excel IV.Programming the Excel Application with xlwings See: https://www.xlwings.org/book
  • 6. 2. What’s wrong with reporting?
  • 7. 7 What’s wrong with the others? • Pure code solutions (e.g., ReportLab) – Developer dependency / requires lots of code / slow development • HTML/CSS-based solutions (e.g., Plotly Dash) – Code and design can be separated, but requires frontend knowledge • BI tools (e.g., Power BI, Tableau, etc.) – For interactive dashboards, not PDF reports / lack of connectors • Connecting Excel with Word/PowerPoint – Error prone / usually requires more than one template • Desktop publishing (e.g., Adobe InDesign) – Can’t be automated the way we want
  • 8. 8 What’s wrong with xlwings (OSS)? for address in ['A1', 'B2', 'C3']: mysheet[address].value = 'xlwings' for address in ['A1', 'B2', 'C3']: mysheet[address].value = 'xlwings' 'A3', 'B4', 'C5' Code AND template changes Requires loops
  • 11. 11 Separation of Code and Design Pre-processing (e.g., database query) Post-processing (e.g., upload to web server) holdings, asofdate,… Reports (xlsx & PDF) Template (xlsx) Variables/ Placeholders
  • 12. 12 Demo 1: Placeholders & Filters • Placeholders {{ holdings }} • Filters, e.g., biggest 5 positions: {{ holdings | sortdesc(4) | head(5) }}
  • 13. 13 Demo 2: Full reporting pipeline • Pre-processing – Read data from various sources incl. text, Word and CSV files – Clean/manipulate the data with pandas • Report Generation – xlsx and PDF • Post-processing – uploading it to the xlwings.org webpage via AWS S3 90 lines of code (!): https://github.com/xlwings/xlwings-factsheet-demo
  • 14. 14 Ways to run the reporting pipeline • Excel workbook (used by the demo) • Jupyter notebook • Python script / CLI (e.g., for scheduler) • Locally installed GUI • Web-based UI
  • 15. 15 Summary: xlwings Reports • Separation of concerns: code vs. design • Template: one, and only one • Layout: multi-column • Text: formatting via Markdown • Tables: dynamically formatted with powerful filters • Charts: via Excel or Python (Matplotlib, Plotly) • PDF: “Print” on PDF in corporate layout
  • 16. 16 Pricing • From USD 82.50/month, your whole company can run on xlwings Reports • Developer license: only users who write Python code need a paid license • Tools can be used forever even if plan is cancelled (but no support/upgrades) • https://www.xlwings.org/pricing
  • 17. 17 How to get started • Get a trial license from: https://www.xlwings.org/trial • Read the docs: https://docs.xlwings.org/en/stable/reports.html • Book a meeting with me: https://calendly.com/felix-zumstein/xlwings