Why Structural Engineers Use Excel

Change My Mind (you can't)

Anyone who follows me on Twitter (or knows me IRL) knows that I have a deep-seated dislike of Microsoft Excel. My first task in my engineering career involved copying and pasting exported data in specific shapes to new spreadsheets, so I taught myself enough VBA to avoid doing that for weeks. I also had an Excel-free stint in academia where I worked exclusively in Python. When I came back to consulting engineering, I was immediately immersed in eldritch spreadsheets twice removed from the original designer for a very complicated project with a bunch of terrifying VBA macros. Not surprisingly, this did nothing to improve my perception of Excel as a design "tool".

I've had notes on this subject for months, thanks to Colin Caprani's talk on Excel is Evil - Why it has no place in research, but have finally had time to put together what the issues are specifically for design, and what the alternatives (paid and free) are.

So why do we use Excel?

Why shouldn't we use Excel?

What did I do to deserve this??

What did I do to deserve this??

What are the other paid options?

There are, and have been for quite some time, multiple other paid options for the types of calculations typically performed in Excel. The two I've encountered are Mathcad (since 1986) and Tedds (now owned by Tekla). I used Mathcad at an internship nine years ago, but it wasn't particularly popular due to the lack of batch calculations (one of the things Excel does nicely). TEDDs seems to be popular because it has standard templates and calcbooks for common calculations, but I believe it's more UK/EU code specific (again, haven't used it ever in the U.S.). Another proprietary paid platform I've seen recently is Blockpad, which appears to try and address some of the weaknesses I've noted above for Excel.

What are the free open source options?

While the things I've noted above have been covered by other dissidents from Excel, I haven't seen a piece that addresses how the strengths and issues above can be addressed using open source programming (with Python libraries). I've noted with an asterisk (*), which pieces I've used myself, but some of these features are still relatively new. While no one really wants to deal with dependency hell and getting Python configured just right, I still think this is the way to get better 'hand' calculations, and these add-ons are part of a growing and developing ecosystem used by many other fields.

The basic building blocks that I recommend utilizing are Jupyter notebooks/Jupyterlab with a number of add-ons.

Other pieces that you might find useful: