I have need to be able to save the excel export results from a tableau "desktop" instance. We have no server instance which is able to run these extensions. Even if we did, there are other restrictions which can make it pretty inconvenient.
Nevertheless, we have a need (requirement really) to supply excel results with workbooks. We have discussed switching away from tableau for this specific reason. But, since there is an investment in tableau, I've been looking for alternatives. This ExportData extension seems to be 95% there, but I ran into some issues:
- Could only get file results from a server instance.
- The resulting file only produced strings, and on conversion would crash Excel.
After a lot of debug and code digging, I figured out the 2nd issue - hence the proposed "Col_Types" branch changes (https://github.com/shimrot/Tableau-Extension-ExportData/tree/Col_Types).
For the 1st issue, I was able to opening an external window via javascript Window.Open call. Then tried 3 different cross window messaging methods to transfer data between windows (postMessage/onmessage, BroadcastChannel, and a 3rd which escapes me now...) . Was not able to get any to work for varied reasons. Since I needed to show something, I punted and added some ajax calls to a local server I own, to squirrel away the generated excel data blob, and then have the new window able to download.
My end solution in the "indirect_server_save" (https://github.com/shimrot/Tableau-Extension-ExportData/tree/indirect_server_save) branch is not generalized enough for anyone else to use directly (because of the extra https server requirement). However, I hope someone else can think of some way to transfer between windows, or maybe can think of other alternatives.
Thanks
Kris