<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>eFORCE Events</title>
        <link>http://blogs.eforceglobal.com/rpopat/category/3.aspx</link>
        <description>eFORCE Events</description>
        <language>en-US</language>
        <copyright>Rajiv Popat</copyright>
        <managingEditor>rpopat@eforceglobal.com</managingEditor>
        <generator>Subtext Version 1.9.2.30</generator>
        <item>
            <title>Treasury Sciences Web-Site Takes Its First Baby Steps</title>
            <link>http://blogs.eforceglobal.com/rpopat/archive/2008/09/29/522.aspx</link>
            <description>&lt;p&gt;Treasury Sciences (Code Named: ITOPS) has been our flagship product in the Treasury and Finance Domain; something we've been working on for more than our two years. A product that has been helping our clients measure their Treasury accurately for the past year or so. &lt;/p&gt;  &lt;p&gt;At eFORCE &lt;a href="http://www.thousandtyone.com/blog/ThatCoolFeatureYouProbablyArentGoingToNeed.aspx" target="_blank"&gt;we're obsessed with answering the why's&lt;/a&gt; and when we started working on ITOPS the first question we asked ourselves was simple: Why should the world of treasury care about what we had to offer them?&lt;/p&gt;  &lt;p&gt;Two years later; I think we've explained that 'Why' pretty well. I've heard many analogies but the one that comes closest to describing what ITOPS does and why the treasury world should care is described by our CEO:&lt;/p&gt;  &lt;p&gt;"It's almost like a Fuel Gauge. You don't want to to show too much or too little. You expect it to be accurate because you rely on it."&lt;/p&gt;  &lt;p&gt;A Major part of ITOPS is a Product Called CMO (code named: Seagull) which is what we often refer to as the “Treasury Gauge”. Relentlessly tweaking it and making it dependable is what we've been working on for the past couple of years. &lt;/p&gt;  &lt;p&gt;If you are into Treasury or just interested in one of the things that we (and I personally) do for a living; check out our &lt;a href="http://www.treasurysciences.com/" target="_blank"&gt;first humble website&lt;/a&gt; which is far from perfect.&lt;/p&gt;  &lt;p&gt;It's not clearly an example of best website we can build; in fact to be honest, I don't love it all that much myself, but then, we were busy building this great product that you (and our existing customers) can depend on to make some really important decisions when it comes to treasury management and the website was not one of our biggest concerns. It's the product where most of our energy has been focused so far and we're sure our existing customers, having used our products in a production environment for months, will vouch for that fact.&lt;/p&gt;  &lt;p&gt;The website was meant to give information about a product we (the development team, the clients who use it and everyone who is associated with it) love and I think it does a decent job at doing that.  It'll will continue to get better with time. In the meantime, If you are interested in what eFORCE does with this initiative or are in general interested in the Treasury and Finance space visit us, book-mark us and keep looking out for some exciting free services we are going to announce &lt;a href="http://www.treasurysciences.com/" target="_blank"&gt;at the new website&lt;/a&gt; pretty soon.&lt;/p&gt;  &lt;p&gt;We'll be doing more posts on these services as and when we announce them. For now feel free to check out our website and let us know what you think. &lt;/p&gt;&lt;img src="http://blogs.eforceglobal.com/rpopat/aggbug/522.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajiv Popat</dc:creator>
            <guid>http://blogs.eforceglobal.com/rpopat/archive/2008/09/29/522.aspx</guid>
            <pubDate>Mon, 29 Sep 2008 23:55:17 GMT</pubDate>
            <wfw:comment>http://blogs.eforceglobal.com/rpopat/comments/522.aspx</wfw:comment>
            <comments>http://blogs.eforceglobal.com/rpopat/archive/2008/09/29/522.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.eforceglobal.com/rpopat/comments/commentRss/522.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.eforceglobal.com/rpopat/services/trackbacks/522.aspx</trackback:ping>
        </item>
        <item>
            <title>We all LOVE Excel Services! :)</title>
            <link>http://blogs.eforceglobal.com/rpopat/archive/2006/11/13/6.aspx</link>
            <description>&lt;p align="justify"&gt;So, some of us @ the eFORCE .NET Team have been spending some of our free time in playing around with ways in which you can program excel on the web server. Not because that's what we primarily do for a living, but because we like to play around with wacky problems. Making excel work in a Web environment has been a tricky problem in the past, mainly because of thread safety issues and other Issues &lt;a href="http://support.microsoft.com/kb/257757/" target="_blank"&gt;Microsoft points out on MSDN&lt;/a&gt;.&lt;/p&gt; &lt;p align="justify"&gt;In the past we've taken more than 3 tools to a test-ride. Most of them are pretty interesting. But all of them have their Pros and Cons. For Example, some of them won't support all functions supported by Excel 2007, while the others just won't recognize Excel 2007 file formats. &lt;/p&gt; &lt;p align="justify"&gt;A few days ago I came across Excel services and started playing around with it. After a few days of playing around with it, I loved it and thought I would throw out a knowledge sharing session to folks at eFORCE to see how many others are interested in solving similar problems. I've been a little busy these days, so the session was conducted on short notice (we announced it Friday late night) and I mentioned in my email, that it would be a training without the bells and whistles of a formal training. Which means no hand-outs and no Powerpoint slides formatted with eFORCE branding (and no free food that we had in NEO and all that partying :)).&lt;/p&gt; &lt;p align="justify"&gt;This evening when the presentation started we had throng of eFORCE'iasns. I think if you minus the eFORCE HR, Accounts, Admin and IT, pretty much the rest of eFORCE was there! One of the guys from accounts had planned on attending it but looks like he couldn't make it. Another person from accounts tells me he's interested in Excel Services and will take a look at my recorded training. :)&lt;/p&gt; &lt;p align="justify"&gt;See? We ALL Love Excel Services!!! :) We had people from creative teams, testing teams, .NET teams, J2EE teams and pretty much every other team that you can think of. I was kind-of worried initially, because I thought people had confused this with a Introduction to Microsoft Excel Training or something, so I asked them if they thought they had read the training email correctly and threatened them that I'm going to write some C# code in here - but they just didn't budge! :) &lt;/p&gt; &lt;p align="justify"&gt;Anyways, it was fun conducting the training; except of course just too many betas and software running on my box. So, the box was kind-of dead in the middle for a couple of minutes and I had to "trust" that it would come back to life again after a couple of minutes of hard disk thrashing. I had Sharepoint 2007 Beta, Excel Services, SQL 2005, Office 2007 Beta running on a VPC which was running on my box. &lt;/p&gt; &lt;p align="justify"&gt;And then my box, which, besides running than 500 meg RAM, 7 Gig VPC, was also running Studio 2005, SQL 2005, SQL Express, My own active directory, My own DHCP Server, My own DNS Server, 10 skinning applications, 20... anyways I think I'll stop. &lt;/p&gt; &lt;p align="justify"&gt;So KC (one of our very highly capable BA's who was also there), thinks that I shouldn't go on and on about the things that are loaded on my box. He thinks it's usually easier to just say what's not loaded on my box and move on with the training. So, I decided to use that same overworked box which was also recording the training for conducting the training which might have eaten up like 10 minutes of thrashing and hanging time from that one and half hour of training. And then there was the HR, who was concerned that people didn't have enough seats in the training room and all; But the attendants were pretty awesome and didn't mind standing. See? We ALL love Excel Services! :)&lt;/p&gt; &lt;p align="justify"&gt;Now, I'm in the process of trying to edit that recording of the training and I just can't seem to get it right! Because there were some crappy jokes I cracked and then there were crappy jokes others cracked and every 15 minutes or so we seem to have some mild ha-ha-ha going on in the background. This background noise reduction in video editing is becoming kind of tricky for me! I told them I recording this stuff! And I warned them, that they should just shut-up and that anything they say, will be recorded and can be used against them. But most of them just didn't give a dam! :)&lt;/p&gt; &lt;p align="justify"&gt;And then there were a lot of "Can I do this?" kind of questions and there were "How's this better than that 3rd party tool we evaluated last week / month / year?" kind of questions and then there were "How can I make it talk to J2EE?" kind of questions and then there were "How can I make J2EE talk to it?" kind of question and then there were some "Can I see the WSDL of Excel Services on the projector please?" kind of questions and then there were - "Are we covering some Sharepoint in this session too?" kind of questions :) - So basically there were tons of, well... questions! Which is good. Honestly! I'm not kidding!&lt;/p&gt; &lt;p align="justify"&gt;It looks like I've been able to answer most of them to the best of my knowledge (or at-least I've tried :)). Give me a shout / drop me an email / comment, if there are more. One of the questions that came up more than once was - &lt;strong&gt;Can I call the SetCell Method and instead of passing a Value just pass a formula? In other words, can I change a formula or create a new formula using Excel Services? &lt;/strong&gt;Interesting question. I think that one was the only one that was left un-answered - where I said - "Don't know. Try it. Good luck!". So, Let's try it, right now!&lt;/p&gt; &lt;p align="justify"&gt;In the demo one of the simple Excel Spreadsheet example we wrote was one which let's you enter purchase (in cell B1), sales (in cell B2) and then there was profit (in cell B3), which got calculated based on a formula. And we covered the Sharepoint webpart based UI and a WinForm UI that hits the Excel Services Web Service. One of the examples we wrote had the code to set values. It looked pretty much like:&lt;/p&gt;&lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Monaco;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf8\cb1\highlight1        \cf7 protected\cf8  \cf7 void\cf8  SetValuesToSheet()\par ??        \{\par ??            \cf3 // Always Error Handle After checking the status. Moving on with the Demo For Now. \par ??\cf8             myStati = myService.SetCell(SessionId, \cf4 "External Reports"\cf8 , 0, 1, txtPurchase.Text);\par ??            myStati = myService.SetCell(SessionId, \cf4 "External Reports"\cf8 , 1, 1, txtSales.Text);\par ??        \}\par ??}
--&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   49&lt;/span&gt;        &lt;span style="color: yellow"&gt;protected&lt;/span&gt; &lt;span style="color: yellow"&gt;void&lt;/span&gt; SetValuesToSheet()&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   50&lt;/span&gt;         {&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   51&lt;/span&gt;             &lt;span style="color: aqua"&gt;// Always Error Handle After checking the status. Moving on with the Demo For Now. &lt;/span&gt;&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   52&lt;/span&gt;             myStati = myService.SetCell(SessionId, &lt;span style="color: lime"&gt;"External Reports"&lt;/span&gt;, 0, 1, txtPurchase.Text);&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   53&lt;/span&gt;             myStati = myService.SetCell(SessionId, &lt;span style="color: lime"&gt;"External Reports"&lt;/span&gt;, 1, 1, txtSales.Text);&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   54&lt;/span&gt;         }&lt;/p&gt; &lt;p align="justify"&gt;&lt;br /&gt;Let's tweak this a little bit and try to set the value of one of these cells equal to other:&lt;/p&gt;&lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Monaco;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf8\cb1\highlight1         \cf7 protected\cf8  \cf7 void\cf8  SetValuesToSheet()\par ??        \{\par ??            \cf3 // Always Error Handle After checking the status. Moving on with the Demo For Now. \par ??\cf8             myStati = myService.SetCell(SessionId, \cf4 "External Reports"\cf8 , 0, 1, txtPurchase.Text);\par ??            myStati = myService.SetCell(SessionId, \cf4 "External Reports"\cf8 , 1, 1, \cf4 "=B1"\cf8 );\par ??        \}}
--&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   49&lt;/span&gt;         &lt;span style="color: yellow"&gt;protected&lt;/span&gt; &lt;span style="color: yellow"&gt;void&lt;/span&gt; SetValuesToSheet()&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   50&lt;/span&gt;         {&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   51&lt;/span&gt;             &lt;span style="color: aqua"&gt;// Always Error Handle After checking the status. Moving on with the Demo For Now. &lt;/span&gt;&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   52&lt;/span&gt;             myStati = myService.SetCell(SessionId, &lt;span style="color: lime"&gt;"External Reports"&lt;/span&gt;, 0, 1, txtPurchase.Text);&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   53&lt;/span&gt;             myStati = myService.SetCell(SessionId, &lt;span style="color: lime"&gt;"External Reports"&lt;/span&gt;, 1, 1, &lt;span style="color: lime"&gt;"&lt;strong&gt;=B1"&lt;/strong&gt;&lt;/span&gt;); // tryiing to insert a formula!&lt;/p&gt; &lt;p style="font-size: 10pt; background: black; margin: 0px; color: white; font-family: verdana" align="justify"&gt;&lt;span style="color: silver"&gt;   54&lt;/span&gt;         }&lt;/p&gt; &lt;p align="justify"&gt;&lt;br /&gt;And let's run it! And, when we run this we get this exception - "Editing Formulas is not enabled in this release of Excel Services."&lt;/p&gt; &lt;p align="center"&gt;&lt;img alt="" src="http://blogs.eforceglobal.com/uploads/rpopat/EditingFormulasException.gif" /&gt; &lt;/p&gt; &lt;p align="justify"&gt;So the short answer is, No. You can't. There's an interesting link out &lt;a href="http://msdn2.microsoft.com/en-us/library/ms496823.aspx" target="_blank"&gt;here&lt;/a&gt; which sums up all those "Can I do this?" type of questions. The thumb-rule, as this link points out, is that you can't "Author Workbooks" with excel service. Changing formulas is considered part of authoring and so are a host of other things (take a look at the link). The link is pretty elaborate and to-the-point on the things that you cannot do with Excel Services. Hope this helps. &lt;/p&gt; &lt;p align="justify"&gt;I think this takes care of the pending questions. And for everyone who attended. Thanks for attending, asking questions (and if you were standing because of the lack of chairs) - sorry, we just didn't expect so many of you to show up :) and btw, thanks for not beating me up or something, for making some of you guys stand for an hour and a half! :) No, seriously, I'm not kidding - thanks for attending!  With all those interesting questions it was fun taking the session.&lt;/p&gt;&lt;img src="http://blogs.eforceglobal.com/rpopat/aggbug/6.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajiv Popat</dc:creator>
            <guid>http://blogs.eforceglobal.com/rpopat/archive/2006/11/13/6.aspx</guid>
            <pubDate>Mon, 13 Nov 2006 17:17:06 GMT</pubDate>
            <wfw:comment>http://blogs.eforceglobal.com/rpopat/comments/6.aspx</wfw:comment>
            <comments>http://blogs.eforceglobal.com/rpopat/archive/2006/11/13/6.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.eforceglobal.com/rpopat/comments/commentRss/6.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.eforceglobal.com/rpopat/services/trackbacks/6.aspx</trackback:ping>
        </item>
    </channel>
</rss>
