<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Cum Grano Salis : EwaCompanion</title><link>http://blogs.msdn.com/cumgranosalis/archive/tags/EwaCompanion/default.aspx</link><description>Tags: EwaCompanion</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>EWA Companion Part 4: Refresh/Recalc functionality</title><link>http://blogs.msdn.com/cumgranosalis/archive/2007/08/22/ewa-companion-part-4-refresh-recalc-functionality.aspx</link><pubDate>Wed, 22 Aug 2007 19:10:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4502787</guid><dc:creator>Shahar</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/4502787.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=4502787</wfw:commentRss><description>&lt;p&gt;In the &lt;a href="http://blogs.msdn.com/cumgranosalis/archive/2007/08/17/introducing-ewa-companion-a-web-part-that-adds-missing-functionality-to-the-ewa-component.aspx"&gt;first part&lt;/a&gt; of this post series I showed the EWA companion and its various capabilities. In this part, I will delve deeper into the "Automatic Refresh/Recalc" capabilities of the companion. &lt;/p&gt; &lt;p&gt;This feature is divided into two parts - refresh and recalc. Refresh is mostly only useful when your workbook contains a Pivot-Table that's not based on external data. Since the Excel Services feature of Periodic Refresh is a property of an Excel connection, there's nowhere to set it for PivotTables that are based on data inside Excel.&lt;/p&gt; &lt;p&gt;The Calculate option is mostly useful if your workbook contains volatile formulas (such as =NOW()). This will allow the workbook to refresh periodically.&lt;/p&gt; &lt;p&gt;To enable this feature, you need to go to the companion's properties and decide which of these you want:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart4RefreshRecalcfunctional_1137B/image.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart4RefreshRecalcfunctional_1137B/image_thumb.png" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;You can set up either operation you want (or both). You can also set the interval (in seconds) the EWA will use to refresh.&lt;/p&gt; &lt;p&gt;Once this is set up, you are pretty much done. Once every N seconds, the browser will issue AJAX calls to refresh/recalc the workbook and refresh the page. Note that as opposed to the previous features, there is no visual cue on the Companion web-part&amp;nbsp;to show that something is happening.&lt;/p&gt; &lt;h4&gt;The Code&lt;/h4&gt; &lt;p&gt;On the server side, the code that controls this feature is pretty simple. All it does is inject some javascript into the page:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;if&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; (!DesignMode &amp;amp;&amp;amp; RefreshPeriodically || RecalcPeriodically)&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;int&lt;/span&gt; flags = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (RefreshPeriodically)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;flags |= 1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (RecalcPeriodically)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;flags |= 2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; scriptlet = &lt;span style="color: #2b91af"&gt;String&lt;/span&gt;.Format(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"EcIssueRefreshRecalcPeriodically('{0}', {1}, {2});"&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ConnectedEwa.ClientID,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;flags,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RefreshInterval * 1000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Page.ClientScript.RegisterStartupScript(&lt;span style="color: blue"&gt;this&lt;/span&gt;.GetType(), ClientID + &lt;span style="color: #a31515"&gt;"_ForRefreshRecalc"&lt;/span&gt;, scriptlet, &lt;span style="color: blue"&gt;true&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p&gt;What this does is add code that calls the EcIssueRefreshRecalcPeriodically js function. The number that is passed in as the second parameter governs what needs to be done (1&amp;nbsp;- refresh, 2 - recalc, 3 - both).&lt;/p&gt; &lt;p&gt;The js function simply uses the setTimeout method to defer the call to whatever timeout was given by the properties of the web-part:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;function&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; EcIssueRefreshRecalcPeriodically(id, flags, interval)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;window.setTimeout(&lt;span style="color: #a31515"&gt;"EcRefreshRecalcPeriodically('"&lt;/span&gt; + id + &lt;span style="color: #a31515"&gt;"', "&lt;/span&gt; + flags + &lt;span style="color: #a31515"&gt;","&lt;/span&gt; + interval + &lt;span style="color: #a31515"&gt;");"&lt;/span&gt;, interval);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&amp;nbsp;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;This method will issue the EcRefreshRecalcPeriodically when the timeout is reached:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;function&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; EcRefreshRecalcPeriodically(id, flags, interval)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; sessionId = EwaGetSessionId(id);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (sessionId == &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;EcIssueRefreshRecalcPeriodically(id, flags, 5000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; es = &lt;span style="color: blue"&gt;new&lt;/span&gt; ExcelServices();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; info = &lt;span style="color: blue"&gt;new&lt;/span&gt; EcRefreshRecalcState();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;info.sessionId = sessionId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;info.flags = flags;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;info.es = es;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;info.wpid = id;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;info.interval = interval;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;es.setUserState(info);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (info.flags &amp;amp; 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;EcRefreshAll(info);&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;/span&gt; &lt;span style="color: blue"&gt;if&lt;/span&gt; (info.flags &amp;amp; 2)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;EcRecalc(info);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p&gt;This is where things get funky. What we do here is create an object that contains a bunch of information and we then issue an AJAX request to the server using the &lt;a href="http://blogs.msdn.com/cumgranosalis/archive/2007/01/29/ajax-library-for-excel-services.aspx"&gt;Excel Services AJAX&lt;/a&gt; library.&lt;/p&gt; &lt;p&gt;Depending on the flags, we either call the EcRefreshAll() or the EcRecalc() method. The helper object (EcRefreshRecalcState) contains all our state, including the Excel Services object (the .es property).&lt;/p&gt; &lt;p&gt;Next, take a look at the EcRefreshAll() method:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;function&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; EcRefreshAll(info)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;info.es.refreshAll(info.sessionId, EcRefreshComplete);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;function&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; EcRefreshComplete(webMethod)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; info = webMethod.excelServices.userState;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (info.flags &amp;amp; 2)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;EcRecalc(info);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;EcRefreshIFrame(info);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p&gt;The method calls the Excel Services AJAX wrapper called "refreshAll", passing it a callback called EcRefreshComplete. Once the Refresh is complete, it uses the userState property to continue the call (if needed&amp;nbsp;- depending on the flags). Then either EcRecalc will be called (which issues the Recalc method on the Excel Services AJAX object), or the EcRefreshIFrame is called (which refreshes the browser to show the new results).&lt;/p&gt; &lt;p&gt;That's about it for this series of posts. If I add functionality to this library, I will add posts that explain it. If you have any questions, feel free to use the blog or our &lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1208&amp;amp;SiteID=1"&gt;forums&lt;/a&gt; to post them.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4502787" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Excel+Services/default.aspx">Excel Services</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/EwaCompanion/default.aspx">EwaCompanion</category></item><item><title>EWA Companion Part 3: Open/Download functionality</title><link>http://blogs.msdn.com/cumgranosalis/archive/2007/08/21/ewa-companion-part-3-open-download-functionality.aspx</link><pubDate>Tue, 21 Aug 2007 19:11:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4487641</guid><dc:creator>Shahar</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/4487641.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=4487641</wfw:commentRss><description>&lt;p&gt;In the &lt;a href="http://blogs.msdn.com/cumgranosalis/archive/2007/08/17/introducing-ewa-companion-a-web-part-that-adds-missing-functionality-to-the-ewa-component.aspx"&gt;first part&lt;/a&gt; of this post series I showed the EWA companion and its various capabilities. In this part, I will delve deeper into the "Open" functionality of the EWA Companion web-part.&lt;/p&gt; &lt;p&gt;There are a few reasons behind adding the Open command to the EWA. While the functionality already seemingly exists in it (You can use the "Open" menu on EWA to open the active session inside Excel 2007), but some things are missing. For one, the "Open" menu only works with Excel 2007. If you have Excel 2003 or below installed with the compatibility pack, you will not be able to use that functionality. Another thing that is impossible to do today is to immediately Save As the workbook (you need to go to Excel 2007, and then choose Save As from there). Lastly, I have heard some users request printing functionality. While printing from the browser never really works that well, Microsoft does distribute a free Excel Viewer. Using this functionality, it should be possible to view and print Excel files without needing to install Excel on the client (of course, your functionality will be very diminished, but at least you should be able to print/view files outside of the browser).&lt;/p&gt; &lt;p&gt;To enable the Open feature, you need to go to the properties of the web-part and add them:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart3OpenDownloadfunctionali_109D7/image_1.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart3OpenDownloadfunctionali_109D7/image_thumb_1.png" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Once enabled, you will see the following menu item in the web-part:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart3OpenDownloadfunctionali_109D7/image.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart3OpenDownloadfunctionali_109D7/image_thumb.png" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Once clicked, you will get the regular IE/Firefox download dialog box:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart3OpenDownloadfunctionali_109D7/image_2.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="276" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart3OpenDownloadfunctionali_109D7/image_thumb_2.png" width="394" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This can then be used for whatever you want - clicking "Open" will run the default app (Excel 2003 for example). Clicking "Save" will give the save dialog.&lt;/p&gt; &lt;h3&gt;The Code&lt;/h3&gt; &lt;p&gt;There are 2 parts for the code for this portion of the companion. The first one is the ASPX page that actually allows you to get the file from the server and the second is the EWA companion code that invokes that page.&lt;/p&gt; &lt;p&gt;First, take a look at the ASPX page code-behind - the Load functionality:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;protected&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; OnLoad(&lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;base&lt;/span&gt;.OnLoad(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_sessionId = Request.QueryString[SessionIdParam];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; wt = Request.QueryString[WorkbookTypeParam];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (wt.Equals(WorkbookTypeFull, &lt;span style="color: #2b91af"&gt;StringComparison&lt;/span&gt;.OrdinalIgnoreCase))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_workbookType = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.FullWorkbook;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;/span&gt; &lt;span style="color: blue"&gt;if&lt;/span&gt; (wt.Equals(WorkbookTypeSnap, &lt;span style="color: #2b91af"&gt;StringComparison&lt;/span&gt;.OrdinalIgnoreCase))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_workbookType = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.FullSnapshot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;/span&gt; &lt;span style="color: blue"&gt;if&lt;/span&gt; (wt.Equals(WorkbookTypePublished, &lt;span style="color: #2b91af"&gt;StringComparison&lt;/span&gt;.OrdinalIgnoreCase))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_workbookType = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.PublishedItemsSnapshot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; ex)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_error = ex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 10pt; border-left: medium none; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; line-height: 115%; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;In here, the code simply takes the parameters and determines what the operation that needs to be done is. The actual code that streams the workbook back to the user is in the Render override:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;protected&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Render(&lt;span style="color: #2b91af"&gt;HtmlTextWriter&lt;/span&gt; writer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (m_error != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteLine(m_error.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ExcelService&lt;/span&gt; s = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ExcelService&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Status&lt;/span&gt;[] status;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;byte&lt;/span&gt;[] bits = s.GetWorkbook(SessionId, WorkbookType, &lt;span style="color: blue"&gt;out&lt;/span&gt; status);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Response.Clear();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Response.AddHeader(&lt;span style="color: #a31515"&gt;"LAST-MODIFIED"&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;DateTime&lt;/span&gt;.Now.ToString(&lt;span style="color: #a31515"&gt;"r"&lt;/span&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Response.Charset = &lt;span style="color: #a31515"&gt;""&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Response.ContentType = &lt;span style="color: #a31515"&gt;"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Response.OutputStream.Write(bits, 0, bits.Length);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Response.OutputStream.Flush();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; ex)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteLine(ex.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Response.End();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 10pt; border-left: medium none; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;The main part here is the GetWorkbook() call which takes the binary representation of the workbook. The second part is stuffing the file into the Response and making sure that it will get opened by the appropriate application on the client (that's what the ContentType property governs).&lt;/p&gt; &lt;p&gt;Finally, the companion invokes this page by using client-script. Here is the piece of code that gets attached to each of the "Open" menu items:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; AddOpenButton(&lt;span style="color: blue"&gt;string&lt;/span&gt; text, &lt;span style="color: blue"&gt;string&lt;/span&gt; type, System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt; sub)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt; item = &lt;span style="color: blue"&gt;new&lt;/span&gt; System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt;(text);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sub.ChildItems.Add(item);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;item.NavigateUrl = &lt;span style="color: #2b91af"&gt;String&lt;/span&gt;.Format(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"javascript:EcOpenExcelWorkbook('{0}','{1}');"&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ConnectedEwa.ClientID,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;type);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;All this does is call the JavaScript function EcOpenExcelWorkbook(). That's defined inside the EwaCompanionScripts.js file:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;function&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; EcOpenExcelWorkbook(wpid, type)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; sessionId = EwaGetSessionId(wpid);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (sessionId == &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt; 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;window.location.assign(&lt;span style="color: #a31515"&gt;"/_layouts/EcDownloadWorkbook.aspx?sid="&lt;/span&gt; + encodeURIComponent(sessionId) + &lt;span style="color: #a31515"&gt;"&amp;amp;type="&lt;/span&gt; + type);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;All THIS function does, is get the session id inside the EWA and passes it to the EcDownloadWorkbook.aspx page for processing.&lt;/p&gt; &lt;p&gt;The next part of this series will discuss the last feature in the companion (at this time) which is the periodic refresh.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4487641" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Excel+Services/default.aspx">Excel Services</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/EwaCompanion/default.aspx">EwaCompanion</category></item><item><title>EWA Companion Part 2: Save As Functionality</title><link>http://blogs.msdn.com/cumgranosalis/archive/2007/08/20/ewa-companion-part-2-save-as-functionality.aspx</link><pubDate>Mon, 20 Aug 2007 19:00:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4442716</guid><dc:creator>Shahar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/4442716.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=4442716</wfw:commentRss><description>&lt;p&gt;In a &lt;a href="http://blogs.msdn.com/cumgranosalis/archive/2007/08/17/introducing-ewa-companion-a-web-part-that-adds-missing-functionality-to-the-ewa-component.aspx"&gt;previous post&lt;/a&gt; I discussed the EWA companion and how to set it up for saving back to SharePoint. This post will show the next set of capabilities which is the ability to Save As (actually, it exports or saves under another name - the new workbook will not be opened like Save-As usually works).&lt;/p&gt; &lt;p&gt;To set up Save As functionality, the web-page designer needs to check at least one of the Save As Options:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart2SaveAsFunctionality_14C3A/image.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="139" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart2SaveAsFunctionality_14C3A/image_thumb.png" width="219" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Note that you can choose what options you want to have - Workbook will allow the full workbook to be saved (though it requires full read permissions to the file). Snapshot and Published require less privileges, but do not contain information such as formulas and connections.&lt;/p&gt; &lt;p&gt;Once these are checked, the EWA companion shows up new functionality:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart2SaveAsFunctionality_14C3A/image_1.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart2SaveAsFunctionality_14C3A/image_thumb_1.png" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Selecting one of these options un-hides some UI that will allow users to specify the name they want to save as:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart2SaveAsFunctionality_14C3A/image_2.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="158" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart2SaveAsFunctionality_14C3A/image_thumb_2.png" width="400" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The user can now type a name of a file, or click the "Browse" button for help with selecting the document library wanted:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart2SaveAsFunctionality_14C3A/image_3.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="276" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/EWACompanionPart2SaveAsFunctionality_14C3A/image_thumb_3.png" width="312" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Clicking on the "Save" button will now copy the current workbook as viewed in the EWA into the new file name.&lt;/p&gt; &lt;h3&gt;The code&lt;/h3&gt; &lt;p&gt;The code for working this is very similar to the code shown in the previous post - the code that saves to SharePoint and the code that gets the workbook was already shown there. The only mildly interesting part here is the code that is generated &lt;/p&gt; &lt;p&gt;First, the code that adds the Save panel to the HTML:&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; AddSaveAsButtons()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsContainer = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Panel&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Controls.Add(m_saveAsContainer);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsContainer.Style.Add(&lt;span style="color: #2b91af"&gt;HtmlTextWriterStyle&lt;/span&gt;.Display, &lt;span style="color: #a31515"&gt;"none"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Label&lt;/span&gt; label = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Label&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsContainer.Controls.Add(label);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;label.Text = &lt;span style="color: #a31515"&gt;"Save As:"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_assetPicker = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;AssetUrlSelector&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsContainer.Controls.Add(m_assetPicker);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsTypeTextBox = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TextBox&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsContainer.Controls.Add(m_saveAsTypeTextBox);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsTypeTextBox.Style.Add(&lt;span style="color: #2b91af"&gt;HtmlTextWriterStyle&lt;/span&gt;.Display, &lt;span style="color: #a31515"&gt;"none"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsButton = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Button&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsContainer.Controls.Add(m_saveAsButton);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsButton.Text = &lt;span style="color: #a31515"&gt;"Save"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsButton.Click += &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;(SaveAsButton_Click);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; scriptlet = &lt;span style="color: #2b91af"&gt;String&lt;/span&gt;.Format(&lt;span style="color: #a31515"&gt;"if (!confirm('{0}')) return;"&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"If this file exists, it will be overwritten by the new file. Are you sure you want to proceed?"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsButton.OnClientClick = scriptlet;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt; subMenu = &lt;span style="color: blue"&gt;new&lt;/span&gt; System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Save As"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_menu.Items.Add(subMenu);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (ShowSaveAsFull)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AddSaveAsButton(subMenu, SaveAsFull, &lt;span style="color: #a31515"&gt;"Save Workbook"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (ShowSaveAsSnapshot)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AddSaveAsButton(subMenu, SaveAsSnapshot, &lt;span style="color: #a31515"&gt;"Save Snapshot"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (ShowSaveAsPublished)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AddSaveAsButton(subMenu, SaveAsPublished, &lt;span style="color: #a31515"&gt;"Save Published Items"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p&gt;The code adds a panel to the HTML, hides it&amp;nbsp;and then fills it up with a label, an Asset Picker and a button. The button's OnClick event is hooked to the SaveAsButton_Click(). The function also adds menu items depending on what options were selected by the user by using the AddSaveAsButton() method:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; AddSaveAsButton(System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt; subMenu, &lt;span style="color: blue"&gt;string&lt;/span&gt; type, &lt;span style="color: blue"&gt;string&lt;/span&gt; text)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt; item = &lt;span style="color: blue"&gt;new&lt;/span&gt; System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt;(text);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;subMenu.ChildItems.Add(item);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; scriptlet = &lt;span style="color: #2b91af"&gt;String&lt;/span&gt;.Format(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"javascript:document.getElementById('{0}').value = EwaGetSessionId('{1}'); document.getElementById('{2}').value = '{3}'; EcShowSaveAsDialog('{4}');"&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_sessionIdTextBox.ClientID,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ConnectedEwa.ClientID,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsTypeTextBox.ClientID,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;type,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_saveAsContainer.ClientID);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;item.NavigateUrl = scriptlet;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p&gt;The code adds an event to each of the save-as buttons - depending on what the button is, it will set up a different type inside the input - that will determine how GetWorkbook() will be called later. The code also sets up the session id into the appropriate hidden field.&lt;/p&gt; &lt;p&gt;Here's what the Save event handler looks like:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;void&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; SaveAsButton_Click(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; typeString = m_saveAsTypeTextBox.Text;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt; type = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.FullWorkbook;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (typeString == SaveAsSnapshot)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;type = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.FullSnapshot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;/span&gt; &lt;span style="color: blue"&gt;if&lt;/span&gt; (typeString == SaveAsPublished)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;type = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.PublishedItemsSnapshot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;byte&lt;/span&gt;[] bits = GetWorkbookBits(type);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt; site = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;(ConnectedEwa.WorkbookUri))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;SPWeb&lt;/span&gt; web = site.OpenWeb())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPFile&lt;/span&gt; file = web.GetFile(m_assetPicker.AssetUrl);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;file.SaveBinary(bits);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Save succeeded!"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;UserException&lt;/span&gt; u)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Save failed: "&lt;/span&gt; + u.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; ex)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Unknown save failure:"&lt;/span&gt; + ex.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p&gt;The click event kicks off the following code:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;void&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; SaveAsButton_Click(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; typeString = m_saveAsTypeTextBox.Text;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt; type = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.FullWorkbook;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (typeString == SaveAsSnapshot)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;type = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.FullSnapshot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;/span&gt; &lt;span style="color: blue"&gt;if&lt;/span&gt; (typeString == SaveAsPublished)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;type = &lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.PublishedItemsSnapshot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;byte&lt;/span&gt;[] bits = GetWorkbookBits(type);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt; site = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;(ConnectedEwa.WorkbookUri))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;SPWeb&lt;/span&gt; web = site.OpenWeb())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPFile&lt;/span&gt; file = web.GetFile(m_assetPicker.AssetUrl);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;file.SaveBinary(bits);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Save succeeded!"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;UserException&lt;/span&gt; u)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Save failed: "&lt;/span&gt; + u.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; ex)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Unknown save failure:"&lt;/span&gt; + ex.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p&gt;As you can see, the code is very similar to the what the Save button does in the previous post. Instead of saving back though, it saves into an existing file.&lt;/p&gt; &lt;p&gt;The next post will discuss the Open menu item.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4442716" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Excel+Services/default.aspx">Excel Services</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/EwaCompanion/default.aspx">EwaCompanion</category></item><item><title>Introducing EWA companion: A web-part that adds missing functionality to the EWA component</title><link>http://blogs.msdn.com/cumgranosalis/archive/2007/08/17/introducing-ewa-companion-a-web-part-that-adds-missing-functionality-to-the-ewa-component.aspx</link><pubDate>Fri, 17 Aug 2007 19:15:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4428229</guid><dc:creator>Shahar</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/4428229.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=4428229</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/cumgranosalis/pages/excel-services-ewa-companion-download-page.aspx"&gt;Download the Ewa Companion&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Over the past year or so, some requests have been voiced by the community again and again. Some of these related to the EWA, asking for extra functionality that is not there by default. To that extent, I decided to write the EWA companion which contains some of the functionality that has been requested by users.&lt;/p&gt; &lt;p&gt;Important note: I am not an HTML/JS programmer. At best, I stumble around, trying to make things work. At worse.. Well.. Lets not talk about that. My HTML stuff tends to look like crap. On top of that, this code is intended to be &lt;strong&gt;sample code&lt;/strong&gt;. I only have rudimentary error checking and some code-paths have not been tested very well. &lt;/p&gt; &lt;p&gt;The EWA companion introduces the following functionality:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Save capabilities&lt;/strong&gt; - save back to the file that is currently opened in Excel Services.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Save As capabilities&lt;/strong&gt; - save the workbook into a new location (document library in SharePoint)&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Open/Download capabilities&lt;/strong&gt; - these allow the user to download the currently opened workbook to the client. The extra functionality here is that the user does not have to open Excel to do that. On top of that, this will allow Excel 2003 (and prior) to open the workbook. Furthermore, if you have the Excel Viewer installed, the workbook can be opened automatically there as well.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Periodic Refresh/Recalc&lt;/strong&gt; - When workbooks contain&amp;nbsp;volatile formulas (=NOW for example, or some volatile UDF), it is sometimes desirable to allow them to periodically recalculate and refresh the HTML to show the new results. Furthermore, it is sometimes useful to be able to periodically refresh pivot-tables that are not connected to external data sources, but rather, to data on an Excel sheet - something EWA cannot do today.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Today's post concentrates on setting up the EWA Companion itself and enabling the "Save" functionality.&lt;/p&gt; &lt;p&gt;Once set up, you can simply add the companion to the page just like you could any other web-part:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/IntroducingEWAcompanionAwebpartthataddsm_19A8/image_1.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="276" alt="Adding the companion" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/IntroducingEWAcompanionAwebpartthataddsm_19A8/image_thumb_1.png" width="268" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Once added, the companion needs to be connected to an EWA. Currently, the options you have is to place an EWA &lt;strong&gt;above&lt;/strong&gt; or &lt;strong&gt;below&lt;/strong&gt; the companion. You can then control what the companion connects to by modifying the "Controlled EWA" property in the Companion's properties.&lt;/p&gt; &lt;p&gt;In the following image you can see a web-part page in design mode with 4 points of interest:&lt;/p&gt; &lt;p&gt;1 - This is the EWA companion. As you can see, it is "selected" and so the properties pane at the right shows its properties.&lt;/p&gt; &lt;p&gt;2 - This is the EWA itself - it is currently not set up to show any workbook.&lt;/p&gt; &lt;p&gt;3 - Properties Category for the companion - This category contains all the properties that the companion supports.&lt;/p&gt; &lt;p&gt;4 - The Controlled EWA property - this is the one that governs which EWA is controlled. Currently, the value is "Next" which means that the EWA &lt;strong&gt;below&lt;/strong&gt; the companion will be controlled. Note that if the companion was to be below the EWA, this property should have shown "Previous".&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/IntroducingEWAcompanionAwebpartthataddsm_19A8/image_2.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="276" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/IntroducingEWAcompanionAwebpartthataddsm_19A8/image_thumb_2.png" width="302" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Next, I will show you how a set-up page looks. This time, there will be a book selected inside the EWA and the companion would have been set up to only show the "Save" menu option:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/IntroducingEWAcompanionAwebpartthataddsm_19A8/image_3.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="276" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/IntroducingEWAcompanionAwebpartthataddsm_19A8/image_thumb_3.png" width="302" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Clicking on the "Save" menu item shows up a warning. Once "OK" is clicked, the workbook as it is in EWA will be saved back to SharePoint, overwriting the workbook that is currently there. Since there's no locking taking place, you may end up overwriting somebody else's changes.&lt;/p&gt; &lt;h3&gt;How does it work?&lt;/h3&gt; &lt;p&gt;(Note that I am not going into complete details here, just showing the jist of the functionality - the full source code is supplied with the binary)&lt;/p&gt; &lt;p&gt;The save functionality goes through the following steps:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;In the server, the companion detects what EWA it is connected to - this is done everytime the control is&amp;nbsp;created.&lt;/li&gt; &lt;li&gt;On the client, when&amp;nbsp;"Save" is clicked,&amp;nbsp;script runs that takes the session-id of the EWA and posts it back to the companion web-part.&lt;/li&gt; &lt;li&gt;The companion web-part then calls the Excel Web Services API's GetWorkbook function, getting the stream of bytes that represents the workbook.&lt;/li&gt; &lt;li&gt;Next, the companion takes the stream and the name of the workbook the EWA is pointing to and uses SharePoint APIs to write the stream back to the document library.&lt;/li&gt;&lt;/ol&gt; &lt;h4&gt;Connecting to the EWA&lt;/h4&gt; &lt;p&gt;This is done on the server, in the web-part code:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; ConnectToEwa()&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ExcelWebRenderer&lt;/span&gt; result = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (ConnectMode == &lt;span style="color: #2b91af"&gt;ConnectMode&lt;/span&gt;.Next || ConnectMode == &lt;span style="color: #2b91af"&gt;ConnectMode&lt;/span&gt;.Previous)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;int&lt;/span&gt; delta = (ConnectMode == &lt;span style="color: #2b91af"&gt;ConnectMode&lt;/span&gt;.Next) ? 1 : -1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;int&lt;/span&gt; index = ZoneIndex + delta;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;object&lt;/span&gt; webPart = &lt;span style="color: #2b91af"&gt;Utils&lt;/span&gt;.WebPartFromZone(Zone.WebParts, index);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;result = webPart &lt;span style="color: blue"&gt;as&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ExcelWebRenderer&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (webPart == &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;throw&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;InvalidConnectionException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Could not find a control to affect. Please check the 'Controlled EWA' property in the companion properties"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;/span&gt; &lt;span style="color: blue"&gt;if&lt;/span&gt; (result == &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;throw&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;InvalidConnectionException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"The control that is set up to be connected to the companion is not an EWA. Please check the 'Controlled EWA' property."&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;throw&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;InvalidConnectionException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"This connection is not currently supported. Choose either 'Next' or 'Previous' in the 'Controlled EWA' property."&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_connectedEwa = result;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;What this code does, is use the Utils class method WebPartFromZone (shown below) to find the next or previous web-part. The Zone property allows for easy access to the Web-Part page zone the EWA companion is currently located in.&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;static&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Utils&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: #2b91af"&gt;WebPart&lt;/span&gt; WebPartFromZone(&lt;span style="color: #2b91af"&gt;WebPartCollection&lt;/span&gt; collection, &lt;span style="color: blue"&gt;int&lt;/span&gt; zone)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;WebPart&lt;/span&gt; result = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;WebPart&lt;/span&gt; webPart &lt;span style="color: blue"&gt;in&lt;/span&gt; collection)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (webPart.ZoneIndex == zone)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;result = webPart;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;break&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt; result;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;As you can see, the way this method works is by using the ZoneIndex to look for the relevant Web-Part. ZoneIndex is not necesserily aligned with the actual index of the element in the WebParts collection of the Zone object.&lt;/p&gt; &lt;h4&gt;Adding the Save button&lt;/h4&gt; &lt;p&gt;Now that we have a reference to EWA (inside the m_connnectedEwa field which is accessible through the ConnectedEwa property), we can use it to build the script that will run when we click the "Save" button:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; AddSaveButton()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt; item = &lt;span style="color: blue"&gt;new&lt;/span&gt; System.Web.UI.WebControls.&lt;span style="color: #2b91af"&gt;MenuItem&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Save"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_menu.Items.Add(item);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; postBack= Page.ClientScript.GetPostBackEventReference(&lt;span style="color: blue"&gt;this&lt;/span&gt;, SaveCommand);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; scriptlet = &lt;span style="color: #2b91af"&gt;String&lt;/span&gt;.Format(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"javascript:if (confirm('{0}')) {{ document.getElementById('{1}').value = EwaGetSessionId('{2}');{3}; }};"&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"Saving this file will overwrite any changes that have been made since you last opened it. Are you sure you want to proceed?"&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_sessionIdTextBox.ClientID,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ConnectedEwa.ClientID,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;postBack);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;item.NavigateUrl = scriptlet;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;As you can see, the Save button (actually, as ASP.NET menu item) gets a javascript block attached to it. What the Javascript does, in essence, is confirm with the user that they indeed want to save (that's the call to the confirm() method). It then assigns a value to a hidden text-field we have on the web-part (that's the m_sessionIdTextBox - it is created as&amp;nbsp; part of the web-part). And lastly, it issues a post-back to the web-part (the post-back was generated by a call to GetPostBackEventRefernece()).&lt;/p&gt; &lt;h4&gt;Saving the workbook to SharePoint&lt;/h4&gt; &lt;p&gt;What this does, in a nut-shell, is to take the session id that the EWA is currently using and post it back to the server, with the "Save" command. This is where the save command is processed:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;RaisePostBackEvent(&lt;span style="color: blue"&gt;string&lt;/span&gt; eventArgument)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (eventArgument == SaveCommand)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SaveButton_Click();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;void&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; SaveButton_Click()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;byte&lt;/span&gt;[] bits = GetWorkbookBits(&lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt;.FullWorkbook);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt; site = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;(ConnectedEwa.WorkbookUri))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;SPWeb&lt;/span&gt; web = site.OpenWeb())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPFile&lt;/span&gt; file = web.GetFile(ConnectedEwa.WorkbookUri);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;file.SaveBinary(bits);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Save succeeded!"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;UserException&lt;/span&gt; u)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Save failed: "&lt;/span&gt; + u.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; ex)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SetMessage(&lt;span style="color: #a31515"&gt;"Unknown save failure:"&lt;/span&gt; + ex.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;The SaveButton_Click() method calls the GetWorkbookBits() method, asking for the full workbook (since that's what we are interested in when we save) and then makes calls to the SharePoint APIs to save the workbook back to the document library.&lt;/p&gt; &lt;h4&gt;Getting the workbook bits from Excel Services&lt;/h4&gt; &lt;p&gt;This is what GetWorkbookBits() looks like:&lt;/p&gt; &lt;div style="border-right: windowtext 1pt solid; padding-right: 4pt; border-top: windowtext 1pt solid; padding-left: 4pt; background: #f2f2f2; padding-bottom: 1pt; border-left: windowtext 1pt solid; padding-top: 1pt; border-bottom: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242"&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; color: blue; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;private&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;byte&lt;/span&gt;[] GetWorkbookBits(&lt;span style="color: #2b91af"&gt;WorkbookType&lt;/span&gt; type)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ExcelService&lt;/span&gt; s = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ExcelService&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Status&lt;/span&gt;[] status;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;byte&lt;/span&gt;[] bits = s.GetWorkbook(m_sessionIdTextBox.Text, type, &lt;span style="color: blue"&gt;out&lt;/span&gt; status);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt; bits;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;SoapException&lt;/span&gt; soapEx)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; code = soapEx.SubCode.Code.Name;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (&lt;span style="color: #a31515"&gt;"InvalidOrTimedOutSession"&lt;/span&gt;.Equals(code, &lt;span style="color: #2b91af"&gt;StringComparison&lt;/span&gt;.OrdinalIgnoreCase))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;throw&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;UserException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"The session has timed out."&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;throw&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;UserException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Could not save the workbook (probably due to permissions)."&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="border-right: medium none; padding-right: 0in; border-top: medium none; padding-left: 0in; background: #f2f2f2; padding-bottom: 0in; margin: 0in 0in 0pt; border-left: medium none; line-height: normal; padding-top: 0in; border-bottom: medium none; mso-border-alt: solid windowtext .5pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;span style="font-size: 8pt; font-family: 'Lucida Console'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: he; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;In here, we make a call to the Excel Web Services APIs to get the binary representation of the workbook (a byte array) which we then simply return to the caller.&lt;/p&gt; &lt;p&gt;That's about it for Save. In the next post I will show how the Save-As functionality works and how it was coded.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4428229" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Excel+Services/default.aspx">Excel Services</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/EwaCompanion/default.aspx">EwaCompanion</category></item></channel></rss>