By "nice," I essentially mean "not just the service name" (which in my case usually entails abbreviations, underscores, etc.).
I've been able to reproduce how to get nice file names, but I'm not understanding the why, and so the workaround I came up with feels a bit... janky. This will probably end up becoming a tech support case (related to this bug about downloading from the List widget), but I figured I'd post here first to see if anyone is having a different experience or can comment on my workaround.
Background:
I have three Table widgets, each with one sheet (they're on separate pages). All the sheets are joined hosted table views housed in web maps and brought into the Table widget via "Select layers" mode.
Issue:
One of my sheets is downloading (all records) with the layer name as the file name (good), and my other two sheets are downloading (all records) with the service name as the file name (bad). When I download only selected records, the layer name gets used as the file name (for reasons below*, this isn't an option for me).
What I've tried:
The workaround:
Since none of that ^ panned out, I compared the service definitions of the "good" layer and one of the other layers. The only difference I found was that I had apparently accidentally added a new line to the former's layer name. You can see the scroll bar on the layer page, and the \n in the definition:
Why adding a new line here works to force Experience Builder to use the layer name as the downloaded file name, I have NO idea.
The bug I linked earlier in this post is "in product plan" with February 2024 as the version found, so I'm not really holding my breath for that. Likewise, since I don't understand this workaround, I will probably not actually use it for fear it will stop working or mess up downloads at some point in the future.
I would still like to understand what's happening though???
*If I had a smaller number of records or was building something internal instead of for the public, I'd be fine with just adding a selection action here. Also though, in trying that, I got the warning, "To maintain performance, the Select data records action will not run if the filtered results from the trigger data exceed 1,000 records." That won't work for basically any of my data, and besides, the "all data" download option stays in the UI regardless.