End-user software engineering approach: improve spreadsheets capabilities using Python-based user-defined functions

Tamer Bahgat Elserwy, Tarek Aly, Basma E. El-Demerdash

Abstract


End-user computing enables non-developers to handle data and applications, boosting collaboration and productivity. Spreadsheets are a key example of end-user programming environments that are extensively utilized in business for data analysis. However, the functionalities of Excel have limitations compared to specialized programming languages. This study aims to address this shortcoming by proposing a prototype that integrates Python's features into Excel via standalone desktop Python-based user-defined functions (UDFs). This method mitigates potential latency concerns linked to cloud-based solutions. This study employs Excel-DNA (dynamic network access) and IronPython; Excel-DNA facilitates the creation of custom Python functions that integrate smoothly with Excel's calculation engine, while IronPython allows these Python UDFs to run directly within Excel. Core components include C# and visual studio tools office (VSTO) add-ins, which enable communication between Python and Excel. This approach grants users the chance to execute Python UDFs for various tasks such as mathematical computations and predictions — all within the familiar Excel environment. The prototype showcases seamless integration, enabling users to invoke Python-based UDFs just like built in Excel functions. This study enhances the capabilities of spreadsheets by harnessing Python's strengths within Excel. Future work may focus on expanding the Python UDF library and examining user experiences with this innovative approach to data analysis.


Keywords


End-user software engineering; Excel user-defined functions; Standalone Python with excel integration; Visual studio tools office

Full Text:

PDF


DOI: http://doi.org/10.11591/ijeecs.v38.i2.pp1024-1032

Refbacks

  • There are currently no refbacks.


Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Indonesian Journal of Electrical Engineering and Computer Science (IJEECS)
p-ISSN: 2502-4752, e-ISSN: 2502-4760
This journal is published by the Institute of Advanced Engineering and Science (IAES) in collaboration with Intelektual Pustaka Media Utama (IPMU).

shopify stats IJEECS visitor statistics