Eve x Excel Add-in Version 1.3.0 Patch Notes

Update 1.3 Patch notes releasing on 28/08/2023.

This release is a soft update requiring a CTRL+F5 to clear cache to recieve the changes, this update can later be acquired through a classic update prompt inside Excel. If clearing cache and refreshing isn’t enough.

This update brings important changes to the MARKET_ORDERS_STREAMING functions. The aim is to prevent ESI bans caused by the automatic updates resembling market scraping bot activity. Additionally, limits on the number of _STREAMING functions have been implemented to safeguard against potential crashes due to exceeding Javascript technical limits. This prevents from getting caught in an endless loop and subsequently getting banned.

Updates to functions parameters and logic

  • Limited Market _STREAMING functions to 100 variants to prevent add-in internal crashing scenarios that could lead to ESI bans.

    • Limits being hit will display a #CALC error in the cell. Deleting existing _STREAMING functions will allow new ones to be called.
    • Variant meaning each unique combination of type_id, region_id, buy_sell_boolean and location_id.
  • Changed Market _STREAMING functions auto-refresh timers to 1 hour to prevent scenarios that could lead to ESI bans.

  • Market orders and market history functions now check for a valid market_group_id on the type and if the type is published before calling ESI.

  • Market history function has a new optional boolean parameter “latest_only”, where it will return a simpler entity with only the latest date’s values.

    • Example function. =EVEONLINE.MARKET_HISTORY(10000002, 587, TRUE)
    • More helper parameters for market history data handling will be added later based on community feedback.
  • Market history “history” array of the data in the generic version is now reversed so the latest date will be on top of the array. (Community feedback)

  • Solar systems returned in functions such as SEARCHSOLARSYSTEM will now also include an array of the stations in that system (Community feedback)

  • Character and corporation ASSETS functions with with a type_id or a location_filter will now pre-filter and only resolve relevant entities improving the speed of the function.

    • Logic is in place to retain resolution of final location for nested items, and also for the display of items in a container if the location_filter is fx. a station_id.
    • Using a string to search assets that exact matches a type will also get this improved handling, fx “Rifter” but partial terms like “Navy” will not.
  • GROUP and CATEGORY functions now have a new “expanded” boolean optional parameter, defaults to false, if TRUE will output a list of the groups/types belonging to that category/group.

    • Loading for large groups could take a while and get stuck so it’s been made optional for when only the name of the group was what the user wanted.
  • INVENTORYSEARCH now has the parameter “display_unpublished” for display of items in the SDE file that aren’t flagged as published.

New functions

  • .CHARACTERSEARCH(string, strict) to use the ESI search endpoint to find characters. Requires a logged in character for endpoint access. 5 letter minimun for non-strict searching
  • .CHARACTER_PLANETS([character_id_or_entity]) and .CHARACTER_PLANET(character_id_or_entity, planet_id) added with the first draft of PI informational data.
    • This version includes pin information and extractor information in a raw way.
    • This will get more updates to it’s fields so know that the current version will recieve breaking changes if used in this state.
  • Added an internal Planet Entity for displaying planet information in the PI entities.

Bug fixes and QoL improvements

  • CHARACTER_SKILL_QUEUE now displays the correct the start date .
  • CHARACTER_CONTRACTS will now return results if there are any.
  • Wars description text in the sidebar now correctly states it will only fetch 50 latest wars.
  • Faulty character access tokens and refresh token will properly output a #VALUE error instead of #N/A.
  • Market history now displays the name of the region that was being called instead of the ID.
  • Corporation functions requiring division_id will now default to 1 if divison was omitted.
  • Renamed the following fields in Type Entities to match ESI field notation (Community feedback)
    • groupID to group_id
    • marketGroupID to market_group_id
    • raceID to race_id
    • portionSize to portion_size
  • Renamed fields for regions, constellations, solarsystems and stations to match ESI field notation.
  • Character and corporation ASSETS functions with a paging parameter will now return 500 per page instead of 1000 to better support excel web limited output payload.

*Adding type_group_id and type_category_id to blueprint material array for easier logic creation when dealing with nested blueprint in industry scenarios. (Stealth addition, deploying with a minor UI improvement on 29/08/2023)


v1.3.1 Hotfix notes.

  • Fixed character and corporation assets item search to work more consistently when using a type_id or a type_name that exactly matches an item.
    • Nested resolution logic was dropping results if all items were in a station and didn’t need any special logic.
  • Added a link to the patch notes, where the version is displayed.
1 Like

i dont know if its a bug, but patchnotes say only the market streaming was changed…
but since the release my spreadsheet is not working anymore. i try to get 50 marketorders by the normal marketorders function (not streaming function)
it worked fine last patch and now excel is crashing while loading every single time!
its working till about 10 orders… but thats quite low

Can you show me your excel workbook by messaging me on Discord? And are you on excel web or desktop?

Mostly Interested seeing your input exactly since the only thing changed in the older market_order() was the addition of code relating to checking for type_id being a type that existed, had published = TRUE and contained a valid market_group_id to prevent requests that would be a wasted esi call.

What I find frustrating is the type mismatch that occurs.

Cell A1 = Devoter

=EVEONLINE.INVENTORYSEARCH(A1,TRUE).Id returns 12017 as the result.

If I try to nest that in a different formula Like this:
I get a #VALUE! error

So I have to cast the result like this:

the strange part is that if I do a ISNUMBER check on the cell that has =EVEONLINE.INVENTORYSEARCH(A1,TRUE).Id in it, it returns true. So why does the nesting require a cast to work?

Am I doing something wrong, or not understanding this correctly? I would like to be able to type the name in a cell and get the BP listed out possibly by using a LAMBDA function without jumping through more flaming hoops than necessary. :slight_smile: I do like what we have right now, wish for more, but as someone that was part of a project to make an Excel Addin for work, it takes time to flesh it out.

Yes, the explosion say it can take type or blueprint, not the ID.
If you got ID you need to use the Blueprint first


This one should work.
You could also do the short one

1 Like

yes - pls accept

I’ve re-sent a discord FR to one to the account I think you tried to use, not being on the eve discord flagged it.

Edit: you can also hop into the #spreadsheets channel on the discord and ping me there.

The blueprint_explosion has a pretty unique input handler as it’s the only array supporting function.

We’ll make a ticket for this and see if it can be added to handled similarily as we do other other ID’s.

1.3.2 minor update

  • Reduced the payload size of market_orders entities. This should help excel web and other sheets utilizing the market_orders endpoint.
  • Reduced many endpoints payload sizes returning station/structure data by simplifying those fields in the functions.
  • Added paging to character/corporation_blueprints (Community feedback)
  • Added support for a single FormattedNumber Cell refence for a type/blueprint field of to blueprint_explosion. (Community feedback)

Question - is the mainpage from the eveonline sample excel file going to be updated? i noticed that is still referencing the v1.0. additionally the info on the microsoft site is also referencing the wrong version

The app store version display, the one I assume you are referencing as the one showing
That version display is only updated when we update any requirements for the store, and most updates we’ll be doing, including this one, don’t require that to be done for the update to be available to most users.

When the 1.3 information is pushed to the app store it will update that field, and prompt any users still on an older version to update.

The example file is waiting on some extra things for re-creation without the duplication issue.
I’ll poke someone next week to try and get it completed a bit faster, awkward having an example file that’s basically read-only since the workbook is “poisoned” by our internal version of the add-in!

remember to upgrade the formulae to the new “format”. that is what i noticed when i re-downloaded from the main site. after reviewing the forums i saw the changes and corrected my version.

1 Like

we could need a parameter to get the avg for the last month/quarter/year - so we can easily build some kind of trend-monitor :slight_smile:

1 Like

Agreed, the first test scenarios involve a parameter that lets the user define his own range by specifying number of days for the latest_only version to combine.

Something like .MARKET_HISTORY(10000002, 587, TRUE, 30) and the 30 being a parameter called “aggregate_n_days_for_latest” (name needs work), with a default as 1, i.e. just yesterday or first available date. 30 would count back 30(31 days technically) and but taking into account empty days of data.

edit: 24/09/23 with fanfest over I can say that this feature is almost ready, I’m testing it right now trying to break it with weird data, but the first rendition seemes to load alright. Hopefully a minor patch can be released this week to add this.

1 Like