# Excel file read

**URL:** <https://forums.losant.com/t/excel-file-read/976>\
**Category:** Help\
**Created:** [June 12, 2018, 5:11pm UTC](https://forums.losant.com/t/excel-file-read/976 "2018-06-12T17:11:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sreyams\_Jain1](https://avatars.discourse-cdn.com/v4/letter/s/b5e925/32.png) [@Sreyams\_Jain1](https://forums.losant.com/u/Sreyams_Jain1)\
**Post date:** [June 12, 2018, 5:11pm UTC](https://forums.losant.com/t/excel-file-read/976/1 "2018-06-12T17:11:53Z")

</div>

Has anyone done reading an excel file via HTTP request node in the workflow to get data as a JSON string? please post the code snippet that can help. Appreciated.

---

<div class="post-metadata">

**Author:** ![Brandon\_Cannaday](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.losant.com/brandon_cannaday/32/14_2.png) [@Brandon\_Cannaday](https://forums.losant.com/u/Brandon_Cannaday)\
**Post date:** [June 12, 2018, 6:12pm UTC](https://forums.losant.com/t/excel-file-read/976/2 "2018-06-12T18:12:11Z")

</div>

The easiest way to accomplish this is to move the HTTP request and Excel parsing to an [AWS Lambda](https://docs.losant.com/workflows/data/aws-lambda/) function. You can then use the [Lambda Node](https://docs.losant.com/workflows/data/aws-lambda/) to invoke the function, which can then return the contents of the Excel file back to the workflow for further processing.

I’ve actually done this exact thing before and had good success with the [xlsx module](https://www.npmjs.com/package/xlsx) to do the Excel parsing.

---

<div class="post-metadata">

**Author:** ![Sreyams\_Jain1](https://avatars.discourse-cdn.com/v4/letter/s/b5e925/32.png) [@Sreyams\_Jain1](https://forums.losant.com/u/Sreyams_Jain1)\
**Post date:** [June 12, 2018, 6:24pm UTC](https://forums.losant.com/t/excel-file-read/976/3 "2018-06-12T18:24:53Z")

</div>

In the absence of AWA credentials, can’t this be done using javascript function node using XMLHttpRequest call. But, doing so, I get error as XMLHttpRequest not defined

---

<div class="post-metadata">

**Author:** ![Brandon\_Cannaday](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.losant.com/brandon_cannaday/32/14_2.png) [@Brandon\_Cannaday](https://forums.losant.com/u/Brandon_Cannaday)\
**Post date:** [June 12, 2018, 6:35pm UTC](https://forums.losant.com/t/excel-file-read/976/4 "2018-06-12T18:35:29Z")

</div>

The function node provides a very limited JavaScript sandbox. This is due to security reasons and that your code is being run in our infrastructure. The function node also cannot import other modules, so using the xlsx module will not be possible.

Unfortunately, parsing an Excel file with only a workflow is not possible at this time. Lambda or Google Cloud Functions are our recommended approaches.

---

<div class="post-metadata">

**Author:** ![Paolo\_Proxy](https://avatars.discourse-cdn.com/v4/letter/p/b5ac83/32.png) [@Paolo\_Proxy](https://forums.losant.com/u/Paolo_Proxy)\
**Post date:** [September 23, 2022, 10:01am UTC](https://forums.losant.com/t/excel-file-read/976/5 "2022-09-23T10:01:05Z")

</div>

Can I use this:

> **[xlsx](https://www.npmjs.com/package/xlsx)**
>
> SheetJS Spreadsheet data parser and writer. Latest version: 0.18.5, last published: 6 months ago. Start using xlsx in your project by running \`npm i xlsx\`. There are 3329 other projects in the npm registry using xlsx.

in a custom Node function?

---

<div class="post-metadata">

**Author:** ![Dylan\_Schuster](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.losant.com/dylan_schuster/32/2850_2.png) [@Dylan\_Schuster](https://forums.losant.com/u/Dylan_Schuster)\
**Post date:** [September 23, 2022, 5:55pm UTC](https://forums.losant.com/t/excel-file-read/976/6 "2022-09-23T17:55:45Z")

</div>

No, we do not allow for the import of modules into cloud-based workflows for security purposes. We do allow it in [Function Nodes](https://docs.losant.com/workflows/logic/function/) in [Edge Workflows](https://docs.losant.com/workflows/edge-workflows/), however.

If you can let us know what specifically you are trying to do, we may be able to turn that into a feature request - as, for example, an expansion of the capabilities of the [CSV: Decode Node](https://docs.losant.com/workflows/logic/csv-decode/).

---

<div class="post-metadata">

**Author:** ![Paolo\_Proxy](https://avatars.discourse-cdn.com/v4/letter/p/b5ac83/32.png) [@Paolo\_Proxy](https://forums.losant.com/u/Paolo_Proxy)\
**Post date:** [September 23, 2022, 9:52pm UTC](https://forums.losant.com/t/excel-file-read/976/7 "2022-09-23T21:52:06Z")

</div>

Yes ideally a node that provided a file url for the Excel file:

- list all tabs
- for each tab list the cells-columns range
- fetch specific cell range and column range from a tab

We can avoid all cell properties, formulas, macros for now just the content.

This will be a great start.
