We've taught Adobe Flex to talk to Microsoft Excel
Exchanging data between Flex and Excel
By: Yakov Fain
Sep. 18, 2006 11:15 PM
We are finishing writing our book on RIA with Flex and Java
, and the last chapter is called "Integration with External
Applications". It's sixty five pages of some advanced read. After writing this chapter
one of us suggested that it would be easier to re-write Excel from
scratch. It's not straightforward coding, but the
results are good. After covering some basics about ExternalInterface
inside HTML page and embedded Flex application, this chapter leads you
through jungles of Flash technologies such as External API and
LocalConnection as well as through the maze of Microsoft old timers like
mention the ActionScript, of course.
We've also provided the code for a more complex example of integration with external applications, namely Microsoft Excel. These days the data entry or analytical applications with no Excel integration are simply hard to find. Be that saving of data in native Excel format or CSV, accepting data entered in Excel or dynamically creating Excel Charts based on the database queries – we see it everywhere. Microsoft Excel is one of the most popular business applications ever .
This solution involves two ActiveX objects embedded in an HTML page with instant as well as on demand data synchronization between the objects. One of these ActiveX objects is the Flash Player control, executing Flex application. The second ActiveX is a Spreadsheet from Microsoft Office Web Components (OWC). You may think about Spreadsheet as of miniature Microsoft Excel application running inside the HTML page.
Disclaimer: This particular sample works under IE in Windows XP, but has some issues on Windows 2000. I'm sure, if you are still running Window 98 you may face some issues as well, which we'll be happy to fix for our customers.
Meanwhile try to make changes in the left (Flex) and right (Excel) spreadsheets and the data should be replicated back and forth. We'd appreciate any suggestions/critique of this application.
An application like this opens the door to some interesting project ideas, because we also know how to generate and execute formulas on the fly, provide proper reporting and printing, and more. But that's later. Let's finish the book first.
Reader Feedback: Page 1 of 1