Skip to main content

Embedding Excel in SharePoint is more easy!

Earlier if any Excel need to be embedded in a page, user had to use Excel Web Access Webpart and set the property to point to Excel. Now it has become much simpler and more powerful. Just by copying the URL with adding few parameters and using the URL in  iframe HTML tag is all required to embed it in a page.

I'm going to show you this in simple 3 steps.

Step 1: Prepare an Excel.

I used Microsoft provided Excel template for this demo. I saved this excel directly to a SharePoint library.
Excel Workbook
Save to Library

Step 2: URL manipulation

Click on the document to open it within browser. Copy the URL from browser and paste it in a Notepad.

Replace the parameter from "action=default" to "action=embedview" and add another parameter wdbipreview=true.

So your URL looks something like this (you have changed only highlighted ones).

http://[your domain]/sites/[your Site Collection]/_layouts/15/WopiFrame.aspx?sourcedoc=xxxxx&file=Project%20timeline%20with%20milestones.xlsx&action=embedview&wdbipreview=true


Now we'll put this URL in an iFrame tag.

<iframe src="Your URL" height="550" width="900"></iframe>

Step 3: Paste the URL in a page

Navigate to Page library and create a page (I provided Title as Excel Dashboard).

Click on Edit Source as shown below.
Edit Source of Page


Paste the URL and Save Page.

Now, the page looks like this.
Excel embedded

More parameters:
There are quite a number of parameters which can be used in the URL. For example, you can add Download button, you can hide Excel gridlines, allow interactivity etc.

For more information about these parameters, click here.

Update [13-May-2016]: The above link is broken. Thanks to Josh for pointing it out. Similar article can be found here. However this article is for "guest" access and not sure if the parameters work for WopiFrame.aspx page as well. I have not tried yet. If I get time to play around these, will update back here.

Comments

  1. I'm trying to find a URL parameter that allows me to view the full page. Your link to the parameters sounds very helpful but it is broken.

    ReplyDelete
  2. Josh, looks like Microsoft has taken out that link. Similar article is available at https://support.office.com/en-us/article/Embed-your-Excel-workbook-on-your-web-page-or-blog-from-SharePoint-or-OneDrive-for-Business-7af74ce6-e8a0-48ac-ba3b-a1dd627b7773

    Though this link describes for a "guest" access, you can try if the parameters work in the above case as well.

    ReplyDelete
  3. Hello Suresh,
    Very informative post.
    Can you list down other parameters too or reference?

    Thank you
    Asif

    ReplyDelete
    Replies
    1. @Anonymous, When I had written this article, there was a reference article from Microsoft which had the details of parameters. Unfortunately, that article seems to be taken out. I do not have any other reference links.

      Delete

Post a Comment

Popular posts from this blog

How to get SharePoint List or Library GUID via REST

Sometimes, you would need List or Library GUID to use that in some operation. In such cases, how do you get hold of GUID using REST API? There is a straight-forward end point which you can use: /_api/web/lists/getByTitle('ListTitle')/Id This will return the GUID of a List or Library. There is also another approach. However this approach works only if a List or Library contains at least one item. /_api/web/lists/getByTitle('ListTitle')/items This is a familiar end point which we use to fetch items of a List or Library. To get the GUID from the response, you would do: var listIDTemp = response.data.d.results[0].__metadata.id; var listID = listIDTemp.substring(listIDTemp.lastIndexOf("guid") + 5).split('\'')[0]; As you can see, we are doing string operations to fetch GUID from metadata.id. This contains information only if the response has at least one item.

How to update Person field with multiple values using REST API

Person or Group field in SharePoint is similar to a Lookup field. When you are updating this field using REST API, you need to append "Id" to the name of the column in the body construct. For example, the body construct looks like this: data: { "__metadata": { "type": "SP.Data. ListName ListItem" }, "Title": "First Item", " PeopleField Id": "4" }; The highlighted portions should be replaced by the actual List Name and Column Name. In the above example, the REST call is updating a List item with Title and People columns. How to get the value for user ID ("4" in the above example) needs a separate explanation and that will be my next post! The above example works fine if Person field is configured to accept only one value. If we change the Person field to accept multiple values, how do we pass more than one value in the REST call? Since we normally separate user names with semicolon in peop

All about SharePoint List View Styles

Sometimes, there are out of the box features which we tend to ignore and later when we do apply, we are more than happy about the feature which is readily available in SharePoint. One such feature is List View Style. I never thought I would write a post on this. However, whenever I spoke about this with users, people were excited to see the result. That prompted me to write this post. Instead of getting into only theory part, I will basically take use cases where these styles can be applied and also touch up on on some minor limitations with certain style. When you are creating/modifying a List view, you will get an option to select View Style. As shown below, there are 8 options available and Default is always set if you ignore this style. List of View Styles I will take typical Contact List and Announcement List to explian about these styles. Let us go one by one. Default: This view, as name suggest, is the default style in a view. This is one of the widely seen style