# External Python script using External Automation or Plugins

**URL:** <https://forum.inductiveautomation.com/t/external-python-script-using-external-automation-or-plugins/45403>\
**Category:** Ignition\
**Tags:** ignition81, scripting\
**Created:** [April 8, 2021, 5:21pm UTC](https://forum.inductiveautomation.com/t/external-python-script-using-external-automation-or-plugins/45403 "2021-04-08T17:21:17Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [April 8, 2021, 5:38pm UTC](https://forum.inductiveautomation.com/t/external-python-script-using-external-automation-or-plugins/45403/2 "2021-04-08T17:38:05Z")

</div>

Take a look at this thread; we bundle a third-party library that understands Excel well enough to directly import files from it.

> [@Copying an Excel file to a table's dataset](http://forum.inductiveautomation.com/t/copying-a-excel-file-to-a-tables-dataset/34942/13):
>
> Got my paperwork done early, so here's a sample to read from an Excel file EDIT: Reworked a bit to work with both .xls and .xlsx files EDIT: Modified to properly cast data types EDIT: Added handler for formula cell types EDIT: Added parameters to optionally specify sheet, row, and column numbers Reading back a file created from my other example: def excelToDataSet(fileName, hasHeaders = False, sheetNum = 0, firstRow = None, lastRow = None, firstCol = None, lastCol = None): import org.apac…

---

_[View the full topic](https://forum.inductiveautomation.com/t/external-python-script-using-external-automation-or-plugins/45403)._
