Support for embedding Office Add-In webextentions #2180

Open
opened 2020-11-23 20:30:39 +00:00 by josh-hemphill · 2 comments
josh-hemphill commented 2020-11-23 20:30:39 +00:00 (Migrated from github.com)

Microsoft has provided documentation on how this is done, though by no means approachable without some abstraction.
It seems really promising, one might be able to serialize their JavaScript that they used to generate the data, include it in a dynamically generated add-in, and create a spreadsheet that can recreate all the data manipulation that happened on the site.
I'm starting to see why MS is pushing the web add-ins so hard.

[Microsoft has provided documentation](https://docs.microsoft.com/en-us/office/dev/add-ins/excel/pnp-open-in-excel) on how this is done, though by no means approachable without some abstraction. It seems really promising, one might be able to serialize their JavaScript that they used to generate the data, include it in a dynamically generated add-in, and create a spreadsheet that can recreate all the data manipulation that happened on the site. I'm starting to see why MS is pushing the web add-ins so hard.
SheetJSDev commented 2020-11-23 21:19:35 +00:00 (Migrated from github.com)

If you can make and share a sample export, we can take a closer look.

Note that many of these newer features are explicitly designed to create lock-in with Microsoft services, and file exports may not have the full details. For example, Microsoft Forms is serialized as a UUID in a worksheet. That's it, a glorified key that the Microsoft servers understand. We can take a closer look at a sample export and see what metadata is stored in the file.

If you can make and share a sample export, we can take a closer look. Note that many of these newer features are explicitly designed to create lock-in with Microsoft services, and file exports may not have the full details. For example, Microsoft Forms is serialized as a UUID in a worksheet. That's it, a glorified key that the Microsoft servers understand. We can take a closer look at a sample export and see what metadata is stored in the file.
josh-hemphill commented 2020-11-23 21:55:16 +00:00 (Migrated from github.com)

Certainly: GoogleDrive Link
Yes, I would concur that many of the microsoft excel features seem to only obfuscate things (It is very much the case with MS Project which is still a completely closed spec).
However both the file archive and the documentation seem to be very well designed to make this sort of thing easy. From the archive, it just seems to be the folder with the source files and manifest inserted in the workbook directory, and a reference to it added in the [Content_Types].xml. The documentation also has a step by step using their library; while the instructions use their C# library, they also provide an equivalent JavaScript one that should operate the same (so one could step through the code), though I think all the library is doing is the file and XML manipulation.

Certainly: [GoogleDrive Link](https://docs.google.com/spreadsheets/d/1t7s0JCHl5QzPA07QczwWUrbbQnqBIc-wMjhWtNvNIw8/edit?usp=sharing) Yes, I would concur that many of the microsoft excel features seem to only obfuscate things (It is very much the case with MS Project which is still a completely closed spec). However both the file archive and the documentation seem to be very well designed to make this sort of thing easy. From the archive, it just seems to be the folder with the source files and manifest inserted in the workbook directory, and a reference to it added in the `[Content_Types].xml`. The documentation also has a step by step using their library; while the instructions use their C# library, they also provide an equivalent JavaScript one that should operate the same (so one could step through the code), though I think all the library is doing is the file and XML manipulation.
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sheetjs/sheetjs#2180
No description provided.