Skip to content

Comment on Please Offer an Excel Export Option

Comments

In all likelihood they are going to open your CSV file in Microsoft Excel 2004, or if you're lucky Microsoft Excel 2007

When did he write this? It says Nov 2014 at the top but that doesn't seem accurate.

He also mentioned pandas, which isn't that old. So, it's probably hyperbole.

It wouldn't surprise me in the slightest that the corporate envronment still uses Excel 2003 (? not 2004, I thought?) or maybe 2007 rather than 2013.

Then again the WinXP EoL should have changed that, but watch it not have.

Excel 2004 is basically the Mac version of Excel 2003. It's EoL'd too.

As for the article, personally I'd say drop XLS support and go for XLSX. The more that users are aware their version of Excel is no longer supported, the more noise they'll make about wanting upgrades. Plus, it's not limiting, in the sense you can get free tools that open XLSX (LibreOffice, etc...).

I would imagine there'd be XLSX-handling libraries for most mainstream programming languages. I've used XlsxWriter with Python, it's fairly intuitive... https://xlsxwriter.readthedocs.org/

We do a ton of Excel import/export in our web app. The day we moved to XLSX, every one of our users cheered because the reliability of our Excel related features improved dramatically.

The problem with XLS is that its internal format (called BIFF8) has no official specification. It has been reverse engineered to a great degree, but every implementation I've used outside of actual "excel.exe" has show stopping bugs that you will encounter at some point.

XLSX, on the other hand, has an actual published spec (OOXML). There is plenty of political strife surrounding OOXML, but at least we have a spec we can develop against. It has also been my experience that "simple" XLSX files can be constructed more reliably than their BIFF8 counterparts. Because XLSX files are XML internally, there are a great number of libraries that can be used to construct the required XML structures, while avoiding edge-case errors in composition that are inherent to reverse-engineered binary formats. At a bare minimum, software authors can use something like libxml to construct valid XML, rather than some ad hoc BIFF8 serializer.

FWIW, we use the axlsx gem for our Ruby app, and it hasn't let us down yet. It even supports some pretty eccentric Excel features like data validations.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.