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.


  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.

  2. Josh, looks like Microsoft has taken out that link. Similar article is available at

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

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

    Thank you

    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.


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 =[0]; var listID = listIDTemp.substring(listIDTemp.lastIndexOf("guid") + 5).split('\'')[0]; As you can see, we are doing string operations to fetch GUID from This contains information only if the response has at least one item.

Get User Id using REST or JavaScript Object Model

Sometimes you would need to fetch the User Id based on either Login name or Email id. You would need User Id if you need to assign a user object to a people picker control or People/Group field. How do we get the Id based on Email or Login Name in client side development? We can achieve that using JavaScript Object Model or REST API. Let me share the first example using JavaScript Object Model (JSOM). var context = new SP.ClientContext.get_current(); this.user = context.get_web().ensureUser(loginName or Email); var o = { d: d, user: this.user }; context.load(this.user); context.executeQueryAsync(     Function.createDelegate(o, ensureUserSuccess),     Function.createDelegate(o, Fail) ); The above code fetches User Id for a given Login Name or Email Id. Interestingly, there is no equivalent endpoint available in REST! The Microsoft documentation talk about a endpoint but I could not get it working. So what is the way to get User Id using REST? You have to use the hidd

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