By writing a VBA program, an analyst can make the spreadsheet itself into a self-generating report.
Advantages: And it can be opened in Excel directly: While speaking to the San Francisco Clojure Meetup last week, I asked the group how they produced data for Excel users and I got a loud chorus of “CSV!
It is easy for the receiver to instantly start to interact with the data you’ve given them in ways of their own choosing.
This includes creating derivative products, combining and comparing your data with data from others, visualizing the data in the form they wish, etc. By including formulas in your spreadsheet rather than simply generating numbers in a report, the relationship between various quantities can be visible and explicit. All of these things are possible on the web and in other environments, but they all require professional programmers to build solutions and they rarely come close to supporting the level of end-user self-service that Excel does. Logic that controls the enterprise is locked away in spreadsheets where it can’t be seen or understood (see “Microsoft’s Excel Might Be The Most Dangerous Software On The Planet,” for example).
As a result most programmatically generated Excel reports either have very poor data presentation or they are very brittle.