Excel and Office.js access to CustomXml Part - excel

Our Web Application stores/creates documents for clients. Our clients download these document which contain custom tagging parts which are client specific and stored the customxml part in both Excel and Word documents. We currently use an activex ribbon bar app that retrieves these parts and displays them for the user. This allows them to access these parts to be inserted into the document by the ribbon bar app.
We then sought a better and more compatible way to accomplish this to get away from activex but also allowing clients that use older version of Word and Excel to continue to use the activex control.
Microsoft assisted us in creating our Word Addin that used Angular and Office js to accomplish this in MS Word.
Now we need to replace our Excel ribbon bar app. I am leading the creation of this tool and found that Excel API currently does not allow access CustomXml Part in the document structure.
Is there any way to access the customxml part in Excel?
Is there any plans to allow access in a future release.
Can you recommend a best practice for storing and retrieving these part if the first two question are no.
We are using Angular2 and Office.js to create the new addin.

I believe this is coming soon in API set 1.5 : see the open spec details here
https://github.com/OfficeDev/office-js-docs/tree/ExcelJs_OpenSpec/reference/excel

As Charles mentioned, Custom XML parts API will be available as part of Excel API #1.5 set.
If you have 1702 build of Excel, you can test this out now. See here for details.

Related

Can I call a pre-xisting macro via the Office Add-In javascript library?

I am developing an Excel Add-In to list, select, and retrieve an OData source. I'd like to be able to call a macro that opens excels Data / Get Data / From Other Sources / From OData Feed and fills in the URL field according to the user's previous selection.
I've searched microsft documentation and google but find no mention of executing a macro from the Office javascript library.
The Office JavaScript API doesn't provide anything for that.
You can post or vote for an existing feature request on Tech Community where they are considered when the Office dev team goes through the planning process.

Is it possible to embed an Excel worksheet alongside a Visio drawing in a webpage and interact across them with the office-js apis

I would like to build a webpage with 2 embedded iFrames - 1x Visio and 1x Excel and use the Visio.run and Excel.run office-js mechanisms to interrogate and interact across them in Office 365.
After various permissioning bug issues I now have Visio javascript code working nicely but cannot see how to get Excel working in a similar manner and I suspect I might have to host an embedded Visio drawing within an Excel task pane rather than having them as peer iFrames.
Embedding a Visio Online task pane within an Excel workbook would be ok provided it can then be rendered in Excel online via Office 365/Sharepoint
Are either or both of these options possible ? I cannot find any relevant samples published to achieve this so pointers would be welcome
Previous response (This applies if you are trying to embed Excel workbook inside of a web-page with cross IFrame communication to refresh data/update the views):
There is no way to programmatically produce Excel embed links. Beyond that you'd need cross Iframe communication via. JS APIs to talk to Excel APIs, which is also not available. Both are under consideration but no defined plan. Please add your ask here
Update
Embedding Visio online taskpane within workbook as a taskpane may work. However, the workbook view/data changes resulting from taskpane interaction would need to take place from background server round-trip, and not through Office-js. Or, the taskpane would need to orchestrate the communication using socket based communication. The experience may not be snappy.

Use predefined Office documents in Web Add-in

I have a requirement to create Web Add-in for Power Point that will change both document content and meta data. Let's call these changes templates.
The Add-in task pane will contain a drop down list for all possible templates.
When the user choose one of them and click apply button, selected template will be applied.
Each template has to add a header, a footer and custom properties to the document.
As Office.js API is not supporting custom properties manipulation, I'm thinking about defining all templates, as PPT documents with proper headers, footers and custom properties, manually. When a user decides to apply a specific template, I will copy the content of the current PPT document to selected template (existing PPT document) and continue working on the template behind the scenes.
Giving this scenario, is it possible to:
Have some predefined PPT documents as templates in an Office Web Add-in
Copy the content of PPT document to a another one and continue working on the second?
good question.. here is some guidance for you:
Unfortunately, this is not possible to implement as a Web Add-In in PPT today.
The PPT JS API is still not as rich as in Word or Excel.
I recommend you to create a VSTO Add-In for this scenario.
Please add this request to our user voice channel.
Thanks!

Embedding an excel document into an application with excel online

I have been experimenting with excel online shared link to be able to embed an excel document to our internal web site. But this method is not viable because we can't actually make a public link because the data is private.
I was wondering if it was possible to embed an excel document any other way. I can add that we need an excel document with an add-in attached to it. I might have done something wrong but in my test, my add-in didn't show up in the embedded version of the document. I also noted that functionality seemed greatly reduced. Even with read-write permissions, I could input some data but couldn't delete anything which wasn't very useful in our case.
Ref:https://support.office.com/en-US/article/Share-it-Embed-an-Excel-workbook-on-your-web-page-or-blog-from-OneDrive-804e1845-5662-487e-9b38-f96307144081
Our goal is to be able to :
embed excel document into an application.
feed external data into the excel document when opened or on user input (done by an add-in)
user interaction (read-write-delete according to defined locks and column visibility)
save the relevant data to storage (done by an add-in)
save the document to OneDrive and/or to a specific location.
I am wondering if there is any solutions (now or in-progress) that would allow us to have most of the functionality of excel online while being managed by an application.
Possible solutions?:
We might have a partial solution where instead of creating a shared link, we could integrate our application to excel instead of doing thing the other way around. But it doesn't solve how to handle Microsoft accounts required to access the documents.
You'd have to do the heavy lifting in JavaScript I'm afraid and add-ins are out of the question. See a very rudimentary example of how to interact with an embedded Excel file here:
http://www.jkp-ads.com/Articles/embeddedexcel00.asp

Using ExcelServices in Office 365?

I use Office 365 plan E3 and I want to copy and modify an excel file within a document library on the server. Goal is to read some values from a listitem and update the excel with these values. In the excel file there are several formulas that do the reporting the customer wants.
I already tried developing a sandboxed solution with excelservices.dll referenced, but SharePoint doesn't allow to execute this solution because of partial trust problems.
I also tried to generate a proxy for ExcelServices.asmx, but WCF needs a configuration file and in O365 I can't change web.config to add the config-sections - and it's not so much fun to generate and parse soap messages manually.
Are there any suggestions how to solve this or is it still impossible?
SharePoint have some embedded function of Excel services - maybe You can use webpart like Excel lists or something similar?

Resources