# Spreadsheet Import Tool

**URL:** <https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500>\
**Category:** Ignition Exchange\
**Tags:** scripting, ignition81\
**Created:** [July 20, 2024, 1:33pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500 "2024-07-20T13:33:38Z")\
**Posts on this page:** 19\
**Page:** 3

<div class="post-metadata">

**Author:** ![Chris\_Bingham](https://avatars.discourse-cdn.com/v4/letter/c/e5b9ba/32.png) [@Chris\_Bingham](https://forum.inductiveautomation.com/u/Chris_Bingham)\
**Post date:** [July 25, 2025, 7:14pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/41 "2025-07-25T19:14:02Z")

</div>

Understood. Simply offering another tool for a straightforward implementation. Edit\* Perhaps also an _indirect_ feature request FOR the tool. 😉

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [November 13, 2025, 8:05pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/42 "2025-11-13T20:05:03Z")

</div>

Hey Phil, is there a way to use your tool to write to a tag's enabled property?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 13, 2025, 8:10pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/43 "2025-11-13T20:10:49Z")

</div>

Sure. Should just work with `TagPropKey` and `TagPropValue`.

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [November 13, 2025, 8:19pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/44 "2025-11-13T20:19:34Z")

</div>

Thanks Phil, my apologies for asking, it wasn't working when I tried because the tag was set to read only.

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [December 22, 2025, 9:19pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/45 "2025-12-22T21:19:04Z")

</div>

Phil, have you tried using the spreadsheet on UDT members of type string array?  
Typically my UDTMemberKey will be something like folder/tag, which works. So for arrays I would think it would be folder/tag[0,1,2,3,...]. This doesn't work, the member is not found.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 22, 2025, 9:48pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/46 "2025-12-22T21:48:04Z")

</div>

Hmm. Do you have a simple sample spreadsheet that demonstrates this?

(I'm tied up with a last v8.3 module conversion, but could dig in if you make it easy on me...)

---

<div class="post-metadata">

**Author:** ![msteele](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/msteele/32/77889_2.png) [@msteele](https://forum.inductiveautomation.com/u/msteele)\
**Post date:** [January 29, 2026, 8:33pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/47 "2026-01-29T20:33:58Z")

</div>

@pturmel anything new with `spreadsheet-import-tool_2026-01-14_1830.zip`?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 29, 2026, 8:49pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/48 "2026-01-29T20:49:20Z")

</div>

Noticed that, huh? Not-yet-announced dataset tag support, and alarm config support for atomic tags.  
😁

(Docs and QA not yet done.)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 5, 2026, 10:54pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/49 "2026-07-05T22:54:40Z")

</div>

What is expected to end up on the Exchange as v1.2 is now present on my own site (link in topic). Of note is the use of my Integration Toolkit's latest Tag Custom Property support for arbitrary tag relationship indexing. Adding that added more QA for me to do, but y'all are welcome to poke at it. (It also has stabs at alarm config, dataset CSV support, and better type coercion for all tag properties.)

Examples and docs have been updated.

Feedback is welcome.

---

<div class="post-metadata">

**Author:** ![msteele](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/msteele/32/77889_2.png) [@msteele](https://forum.inductiveautomation.com/u/msteele)\
**Post date:** [July 6, 2026, 1:06pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/50 "2026-07-06T13:06:25Z")

</div>

Looking forward to digging in on this - it adds an entirely new class of functionality to the tool and to the resulting tag provider. It allows easy creation of a graph data model, not just a hierarchy, with RDF-like triples (subject-predicate-object) for declarative relationships between tagPaths.

---

<div class="post-metadata">

**Author:** ![Craig\_webber](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/craig_webber/32/62546_2.png) [@Craig\_webber](https://forum.inductiveautomation.com/u/Craig_webber)\
**Post date:** [July 6, 2026, 4:00pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/51 "2026-07-06T16:00:09Z")

</div>

Sounds very interesting we are busy planning an integration of neo4J or Apache AGE to solve this problem. My first thoughts are that this would have better performance than using a database.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [July 31, 2026, 1:54pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/52 "2026-07-31T13:54:10Z")

</div>

Hey @pturmel tried to download the .zip from your site, but it doesn't seem like it is a complete project? The zip I downloaded doesn't have any views in it. Maybe I'm missing something...

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 31, 2026, 2:18pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/53 "2026-07-31T14:18:24Z")

</div>

Interesting. I just re-exported (via the gateway web interface) and it omitted the views.

I opened in the designer and re-exported and the views are now there. 🤷‍♂️

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [July 31, 2026, 2:27pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/54 "2026-07-31T14:27:38Z")

</div>

All good now thanks!

---

<div class="post-metadata">

**Author:** ![Frank\_Pockele](https://avatars.discourse-cdn.com/v4/letter/f/7bcc69/32.png) [@Frank\_Pockele](https://forum.inductiveautomation.com/u/Frank_Pockele)\
**Post date:** [October 5, 2026, 2:28pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/55 "2026-10-05T14:28:04Z")

</div>

I imported the latest version of the project, the file from 2026-07-31 10:15  
and installed version 2.1.6 (b262181311) of the Integration Toolkit module  
but I get this when I start the project in Perspective version 8.3.8

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/0/00d77fc66d1db81f3e15289954d81462c99e4e2f.png)  
What I'm i doing wrong?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 5, 2026, 3:41pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/56 "2026-10-05T15:41:50Z")

</div>

You may need to restart the gateway again. There have been reports (above) that the Integration Toolkit doesn't always start up correctly. I haven't been able to reproduce.

Send your gateway diagnostic bundle to [support@automation-pros.com](mailto:support@automation-pros.com) if errors are logged consistently.

---

<div class="post-metadata">

**Author:** ![Frank\_Pockele](https://avatars.discourse-cdn.com/v4/letter/f/7bcc69/32.png) [@Frank\_Pockele](https://forum.inductiveautomation.com/u/Frank_Pockele)\
**Post date:** [October 6, 2026, 12:46pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/57 "2026-10-06T12:46:19Z")

</div>

Restarting the gateway, disabling and enabling the module does not have an effect.  
I've send you the diagnostic bundle, but i don't see any errors.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 6, 2026, 1:23pm UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/58 "2026-10-06T13:23:08Z")

</div>

It's a module loading race with tag provider startup. Try this ~~BETA~~ :

[https://www.automation-pros.com/ignition/Integration%20Toolkit-2.1.8.262791318-v83.modl](https://www.automation-pros.com/ignition/Integration%20Toolkit-2.1.8.262791318-v83.modl)

(I haven't reproduced this--I need affected users to test for me...)

It seems that the gateway hook's `configureFunctionFactory` is being called on a thread with a different classloader from the gateway hook.

---

<div class="post-metadata">

**Author:** ![Frank\_Pockele](https://avatars.discourse-cdn.com/v4/letter/f/7bcc69/32.png) [@Frank\_Pockele](https://forum.inductiveautomation.com/u/Frank_Pockele)\
**Post date:** [October 7, 2026, 8:35am UTC](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500/59 "2026-10-07T08:35:32Z")

</div>

This BETA seems to work for my situation, restarted the gateway a few times and no more problems detected.

[Previous page](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500.md?page=2)
