The example itself is on Git Hub (here) and you can follow along directly in the source file, Creating a spreadsheet using excel-templates involves three steps: get all the data, arrange the data into a nested map structure that describes where the various data items should end up, and apply the template to the data.To put these ideas into practice, I developed the excel-templates library in Clojure.
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).Despite the rise of web-based report interfaces and dashboards, Excel remains the tool of choice in many settings.However, the world of Excel is very separate from the world of most developers.Let’s look at each of them along with their advantages and disadvantages.
Excel’s built-in programming language, Visual Basic for Applications (VBA), has interfaces to pull data from external sources such as databases or web sites.
Finally, Excel has a rich set of formatting choices which can be applied interactively. Excel’s file format and development environment are effectively immune to the tools of modern software development.
Want this column to be dollars and cents while that row has totals in bold? Want to group related columns together using common background colors? And the collaboration story continues to be mostly based on emailing spreadsheets around (or on the dreaded Sharepoint).
To jump right in and use excel-templates, follow the instructions in the README file.
Often developers are forced to do reporting in Excel because “the business users require it.” Without understanding what makes Excel a compelling platform, this becomes the programming equivalent of eating your broccoli. The most compelling thing to me about Excel is this: when you deliver an Excel workbook to people, you give them a live, malleable document.
Advantages: What we wish for is a way to format our data using Excel’s powerful tools but use data created by our normal programming languages.