# Read Excel workbook

**URL:** <https://forum.inductiveautomation.com/t/read-excel-workbook/40988>\
**Category:** 3rd Party Modules\
**Tags:** ignition79, scripting\
**Created:** [November 26, 2020, 11:35am UTC](https://forum.inductiveautomation.com/t/read-excel-workbook/40988 "2020-11-26T11:35:15Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [January 3, 2024, 1:19pm UTC](https://forum.inductiveautomation.com/t/read-excel-workbook/40988/5 "2024-01-03T13:19:37Z")

</div>

> [@Pat\_Cunningham](#):
>
> Are there any examples of this?

Here you go:

> [@Copying an Excel file to a table's dataset](https://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/read-excel-workbook/40988)._
