Standalone Excel to csv conversion?

EML sa212+lo at cyconix.com
Wed Apr 27 09:38:20 UTC 2022


Background: I've spent several years converting xls[x] to csv using 
'in2csv', which is a Python app. This has always been problematical, but 
does give correct output if you're careful with the input. However, the 
current version (1.0.6) has broken some functionality, so it's probably 
no longer usable. This seems to be a generic problem with Python 
solutions which use 'xlrd'.

The requirement is actually pretty trivial: the input spreadsheets 
contain only ASCII text and times, which are formatted as either 
[m]:ss.0, or [m]:ss.00. The csv output should therefore look like 
"5:10.52" for 310.52 seconds, and so on. The old in2csv frequently 
produced floating-point output instead, but this is Ok, since it's 
easily convertible to seconds.

I've been looking for C/C++ alternatives, but the libraries I've found 
don't appear to be well-supported or tested, and may well have other 
problems.

However, this *does* work when using LibreOffice (6.4.7.2/RHEL8) for 
one-off conversions. I can read an xls or xlsx, save-as csv, and get the 
correct result.

Question: how realistic is it to hack Calc to extract a stand-alone 
Excel-to-csv converter? I can do the development as long as I can get 
usable results in a few days, and I don't have to write anything that's 
not C++. However, this is a non-starter if there are any Java 
dependencies (the code has to run on a webapp which is a minimal Ubuntu 
server install); I need something which can either link into a C++ app, 
or be run directly with minimal dependencies.

I'd appreciate some feedback on how realistic this is before downloading 
any sources and looking at them. Thanks.



More information about the LibreOffice mailing list