# Is it possible to have an editable excel spreedsheet in perspective?

**URL:** <https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [September 13, 2024, 1:37pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953 "2024-09-13T13:37:33Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alex\_Ford-King](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@Alex\_Ford-King](https://forum.inductiveautomation.com/u/Alex_Ford-King)\
**Post date:** [September 13, 2024, 1:37pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/1 "2024-09-13T13:37:34Z")

</div>

Im trying to create a page in perspective that one user can enter information on a spreedsheet and all others can view it. Right now the plant has a shared excel spreedsheet but we want to have it displayed on the prespective sessions which run on fire TVs through out the plant. Is it possible to have a excel spreedsheet that can be edited on a perspective session? If not, is there an alternative that anyone has implemented?

Looking for any ideas or examples if anyone has done something like this before

Thanks

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [September 16, 2024, 2:29pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/2 "2024-09-16T14:29:43Z")

</div>

What type of data? How big is the spreadsheet? What if you just make a link to the Excel sheet on the perspective page?

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [September 16, 2024, 2:45pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/3 "2024-09-16T14:45:14Z")

</div>

I once created an uri that allowed you to open files on the device. Which could open the excel... ofc this will not be in the same window, it will open the excel in excel.

Also you have to install the uri on every device that wants to use this feature and they ofc all have to have access to the shared drive.

> [@WebDev to open File Explorer](https://forum.inductiveautomation.com/t/webdev-to-open-file-explorer/47969/5):
>
> ((hm i might have replied on the wrong topic xd)) You can install an uri (on windows) that works for browsers (not the app) You gotta unzip and run it (as admin) on every client pc tho [registerExplorerURIScheme.zip](https://forum.inductiveautomation.com/uploads/short-url/pPlxsSccetxa62JGDTDVaHosx42.zip) (286 Bytes) this one goes like so, i use the link component to open in a new tab: explorer:C:\yourfile.txt

Might not be the best solution, but with my sample it should be pretty easy to test out (if the tvs work with windows, no idea what a fire tv is)  
Than you can see if the client is happy enough with it.

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [September 16, 2024, 2:50pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/4 "2024-09-16T14:50:17Z")

</div>

You could place the excel on google drive or something and use an iframe to open that file in perspective directly, though not sure if google allows that...

---

<div class="post-metadata">

**Author:** ![Alex\_Ford-King](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@Alex\_Ford-King](https://forum.inductiveautomation.com/u/Alex_Ford-King)\
**Post date:** [September 16, 2024, 3:05pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/5 "2024-09-16T15:05:29Z")

</div>

It would be production data. Mostly times and values. So, how much product on what truck and at what time, that sort if thing. The spreed sheet is 15x15. I want the information to be on the page at all times and update when more information is added. Ive been playing around with a editable table but havent gotten very far with it.

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [September 16, 2024, 3:14pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/6 "2024-09-16T15:14:26Z")

</div>

> [@Alex\_Ford-King](#):
>
> want the information to be on the page at all times and update when more information is added. Ive been playing around with a editable table but havent gotten very far with it.

What functionality in excel are you looking to replicate? An editable table isn’t difficult, depending on where the data is stored, but doing expression evaluation, while definitely attainable is not trivial.

Would be a good case for a custom component.

---

<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:** [September 16, 2024, 5:23pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/7 "2024-09-16T17:23:29Z")

</div>

> [@victordcq](#):
>
> google drive or something and use an iframe to open that file in perspective directly, though not sure if google allows that...

You can, but Google forces a 'make sure it's you' peridodically.

@Alex_Ford-King a couple of questions:

- Are there any formulas to worry about?
- Is it always the same spreadsheet being updated, or is it a new copy they use? (daily/weekly/etc.)

My gut is telling me a db table would be the most robust way to do this, but answers to the above may make it a bit more challenging.

---

<div class="post-metadata">

**Author:** ![Alex\_Ford-King](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@Alex\_Ford-King](https://forum.inductiveautomation.com/u/Alex_Ford-King)\
**Post date:** [September 17, 2024, 11:33am UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/8 "2024-09-17T11:33:57Z")

</div>

Only formula would be an addition for totals. The spreedsheet is a new sheet everyday in an ongoing workbook. Right now the only place the data is being stored is in the recurring excel spreedsheet so i dont have any of it in a database.

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [September 17, 2024, 12:15pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/9 "2024-09-17T12:15:15Z")

</div>

We've been setting up ignition in a lot of factories where they used to have spreadsheets all over.  
We never tried to replicate those spreadsheets, instead we asked the customer what they used them for, what the need was, and then came up with solutions that were adapted to ignition.  
Ignition is not excel, don't make it do spreadsheets. Play with its strength instead.

---

<div class="post-metadata">

**Author:** ![Alex\_Ford-King](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@Alex\_Ford-King](https://forum.inductiveautomation.com/u/Alex_Ford-King)\
**Post date:** [September 17, 2024, 1:31pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/10 "2024-09-17T13:31:43Z")

</div>

I'm coming to realize that now. I need to make the perspective system the data entry point and use a database to store this information. I'm new to Ignition and SCADA systems all together so I appreciate all the help!

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [September 17, 2024, 1:58pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/11 "2024-09-17T13:58:33Z")

</div>

Use a table to show past records.  
Create a [Named Query](https://docs.inductiveautomation.com/docs/8.1/platform/sql-in-ignition/named-queries/using-named-queries-example#a-named-query-example) to retrieve the records you want from the database.  
Create a Query binding on the Table component's data property and that will populate the table.

Use a popup form to enter or edit records.

- Add Save and Cancel buttons on the form.
- Make the Save button's enabled property be true when all the fields have valid data. (Use an Expression binding.)
- On the save button **onActionPerformed** event add a Script.
  - Use [system.db.runPrepUpdate | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-db/system-db-runPrepUpdate) to update the database.
  - Use [system.perspective.sendMessage | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-perspective/system-perspective-sendMessage) to send a message to a listener on the Table component.
  - On the table | Right-click | Configure Scripts | + Add Handler. Give it a name and scope to match those of the previously configured sendMessage. In the script add the line,  
`self.refreshBinding("props.data")`

You have a bit to learn but it's all sensible stuff.

Don't do silly stuff with layout or color schemes. Use a standard Windows style form layout that users will be familiar with. Save and Cancel buttons on the bottom right, etc. On each text / numeric entry field you can create a custom property with an expression to check if there is valid data in the field. Then on the component's `style` properties add the border color property, and create an expression binding to the custom property to set the border color. See [Perspective Built-In Themes | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.1/ignition-modules/perspective/styles/perspective-built-in-themes).

---

<div class="post-metadata">

**Author:** ![Collin\_Hodges](https://avatars.discourse-cdn.com/v4/letter/c/f9ae1b/32.png) [@Collin\_Hodges](https://forum.inductiveautomation.com/u/Collin_Hodges)\
**Post date:** [September 19, 2024, 8:05pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-an-editable-excel-spreedsheet-in-perspective/95953/12 "2024-09-19T20:05:56Z")

</div>

There are are two great examples of collecting/editing data in the sample project. Look under ignition 101 under data entry. There is a link to the message handlers on that page too. It should help ya hit the ground running.
