Hacker News new | ask | show | jobs
by ristic 3674 days ago
For anyone interested, I went through a few iterations before settling on LibreOffce Calc and Python:

Initially I was using: PHPExcel (https://phpexcel.codeplex.com/) which loaded a given spreadsheet on demand - this was before I though of changing it into a client server model. In a web application context, the response time for anything other than relatively small spreadsheets was simply unacceptable.

I then moved to using Apache POI (https://poi.apache.org/) and used the client server model. This worked quite well but I ran into some problems as some functions had not been implemented yet.

My current thinking is that LibreOffice will continue to improve both in terms of function feature completeness with Microsoft Excel. It may also improve in terms of performance and memory usage.

Any solution that re-implements excel/calc functions, other than LO, most probably has a smaller user/developer base. In my mind, the smaller the projects user/developer base, the more likely active development could slow to a crawl or stop entirely. Not such a great solution for years down the line.

2 comments

This tool looks great, but I'm not very familiar with LibreOffice --- does it support macros from Excel? I have a use-case in mind but it would require logic not directly in the cell's formulas.
I don't have any experience working with macros between Excel and Calc. That said I did find some resources that may answer your question. First off: https://help.libreoffice.org/Common/Using_Microsoft_Office_a...

There seems to be at least one tool that can convert macros from Excel to Calc for you: http://www.business-spreadsheets.com/vba2oo.asp Having done no testing, I have no idea how well this will work.

Also, there seems to be a good resource on specifically LibreOffice macros available here: http://www.debugpoint.com/category/programming/libreoffice

Doesn't LibreOffice Calc have a simple, standalone implementation of its formula functions, so that they can be copied instead of re-implemented by other projects?
That seems like an interesting avenue to peruse. I would imagine you would end up reimplementing a lot of what Calc has already solved. I'm thinking about mapping cells to cell references (A1:C57), how to handle VLOOKUP, sheets etc. If I had to do this, my approach would probably be to take the headless Calc code and strip out the parts that are unnecessary.
What a shame. I can't even find the source code for Calc anywhere.
I think you may find what you are looking for here: http://download.documentfoundation.org/libreoffice/src/