OfficeDev/office-js

Question: Recommended approach to adding web pane to Excel worksheet via task pane

Closed this issue · 7 comments

Hello,

I understand your disclaimer, however I was directed to ask this question by support engineer Dharani Vuppala.

We are using the Javascript API to write an Excel add-in. We are making good headway on that, but there is a specific feature we want to support that is challenging to find an answer for:

How can we utilize the Javascript API to embed a web pane within a sheet in Excel? We would have a set of html content we would want to render within a web pane. It would be html-based text that, once dropped in a web pane, would pull in more Javascript to render a visualization.

Separately, is it easier or more challenging to have a web pane that essentially a web browser view?

We believe that "Content Office Add-ins" (https://learn.microsoft.com/en-us/office/dev/add-ins/design/content-add-ins#implementation) makes this potentially possible, but I would love clarification.

Thank you in advance.

Yes. A content add-in sounds like you need. But note that a content add-in and a task pane add-in cannot be combined into the same add-in. Also, a content add-in cannot be installed programmatically from another add-in.

Hi, thank you very much for your input!

Could you also please share your request in our Tech Community? This will help other developers to vote and share their similar needs, enhancing the visibility and potential impact of your suggestions.

We will track all feature requests here in our Tech Community, and these inputs will be considered during our planning process. Thank you very much!!

Yes. A content add-in sounds like you need. But note that a content add-in and a task pane add-in cannot be combined into the same add-in. Also, a content add-in cannot be installed programmatically from another add-in.

Thank you very much for your reply, I appreciate it. Some questions!

  1. Ok, is there some way then to just use the task pane to insert a simple iframe into the worksheet?
  2. If we did a separate content add-in for the web pane, is there at least some way of having a ribbon that could call either? Like initial add-in is the task pane + ribbon, and one of the ribbon options is to call a content add-in? And then user would be asked to install that if they want to use?
  3. I believe the VSTO approach of writing a plug-in would allow me this level of functionality. With the Javascript API getting much of the direction for new development, is the stance that VSTO is going away soon?

Again I really appreciate the help. Long time web engineer here, and just trying to learn the best approach for this project.

@Wenjun-Gong Just wanted to ping you in case you missed my comment; thank you so much! 🙏

Hi @timbotron

  1. Although we do not now have a mechanism to put a content add-in or ifream into the spreadsheet, we do have alternative approaches that could be useful. For example, if you plan to have a larger web pane control, you may consider calling out a dialog so that you can still have the broader web pane for control, but it is not inserted into the file and must be dismissed after use. Another option would be to include a chart or shape instead, but I'm not sure whether that meets your requirements.

  2. I do believe that’s a very valuable suggestion! We've also seen a similar strategy used in PowerPoint add-ins, where they call insert "a whole slide with content add-in inside" from their task pane add-in to get around the fact that content add-ins cannot be installed by another add-in. However, this strategy does not work with Excel today. Please help us share this proposal with our tech community so that more developers can join the discussion and vote on it!!

  3. We do not currently have any plans to retire VSTO. Having said that, we would still recommend you to go with Javascript approach, as most of the newer capability would only be supported in the newer Javascript approach. It currently supports store, central deployment, and there are more to come. We would suggest to build solutions on Javascript API so that your solution can be always covered in our new capability release.

Hope this information helps.

Hi @adrianwu8516

Thank you very much for the response!

It appears then the only way to "embed" a pane into a spreadsheet then is by using VSTO? For example I know the Bloomberg Excel plug-in can do that.

Screenshot 2024-05-31 at 17 02 13

Thank you very much for your assistance on this. Is there some way I could enter a consulting arrangement with you? There will be other questions coming up, and I would be happy to pay for your time.

Hi @timbotron,
No problem! We're happy to help. 😄

I just sent an email to your inbox. Let's discuss more details via email and I'll close the topic here.