Excel API for C/C++
-
I've found some infos on the Excel 2003 XML format on "this page":http://blogs.msdn.com/b/brian_jones/archive/2005/06/27/433152.aspx. Could be a good start.
CSV ist not an option, it's very cumbersome to read and write correctly. And the users receiving the CSV must take care of the correct settings (charset, delimiter, enclosing quotes and all that). That's error prone and the support for it is a nightmare - we all are developers, aren't we? :-) Also we need it in both directions (import Excel sheets of our users into our database and generate spread sheets for the users filled with our data).
Unfortunately we also must support opening Excel files in the native (i.e. non-XML) format, otherwise we would had to convert them by hand. Giving xlsx to our users would be ok.
-
[quote author="Volker" date="1291507360"]Unfortunately we also must support opening Excel files in the native (i.e. non-XML) format, otherwise we would had to convert them by hand. Giving xlsx to our users would be ok.[/quote]
I believe Microsoft has a tool for converting non-XML to XML. You may be able to use it in a batch process.
So you only need to get info out? You don't need to be able to edit it and save it? There are quite a number of tools to convert XML files in to other formats, I believe.
-
I think it's a downloadable tool for people with old versions of Excel actually. Standalone. But yes, it was a Windows app.
You have Excel on "Mac":http://www.ehow.co.uk/how_6316841_convert-xls-xlsx-mac.html too :P
There may be a Mac app for this. Or you could try wine (or similar).
Probably make life much easier.
-
Come on... you cannot force your commercial customers to install wine just to convert some crappy xls files :-)
Everthing other than a lib I can incorporate to my app is not acceptable; it's more pleasent for the user if we upload the files to the business logic server then.
-
Alright, I guess since it is for paying customers it is best to treat them nice.
Good luck with your Excel API. I'm sure someone has written something like it for Qt somewhere. You checked Qt-Apps already and similar sites?
This can search Excel files: http://qt-apps.org/content/show.php/recoll?content=66138
But might not have the full API. -
I've searched around with google, got some things that might be interesting, but nothing with using Qt in the first search results. It's not on a very high priority at the moment, so no need to worry. I thought it's worth a try in this forum - if you don't ask, you won't get an answer...
-
There are 2 C++ libaries to create excel.
One is free xlslib : http://xlslib.sourceforge.net/
Other is commercial libXL : http://www.libxl.com/Sorry for late response and I don't know whether you need this or not. But for others I share...
-
Thanks for the links. libxl I will have a look into. xlslib unfortunately cannot read XLS files. This is the crucial part. Writing the files could be quite easily approached with the new XML based format (thats seems not too complicated as long as there are no formulas or cross references, which we do not need).
-
Another available option is to attempt to extract the code from an open source excel reading competitor.
Open Office - http://www.openoffice.org/ - is likely to be used,
Gnumeric is probably a better option.
Excel code is here - http://git.gnome.org/browse/gnumeric/tree/plugins/excel -
Libxls
libxls is a C library which can read Excel (xls) files. It has been tested on Linux x86 and Cygwin but may work on any little-endian system. ...
"libxls.sourceforge.net":http://libxls.sourceforge.net[EDIT: clickable link, Volker]
-
[quote author="Yash" date="1293597766"]Libxls
[EDIT: clickable link, Volker][/quote]
Not yet.... -
From http://www.koffice.org/contribute/:
bq. KOffice is released under the LGPL v2+ (and GPL v2+ for some parts).
-
[quote author="Volker" date="1294273445"]From http://www.koffice.org/contribute/:
bq. KOffice is released under the LGPL v2+ (and GPL v2+ for some parts).[/quote]
Why was that a problem then? Can't get much more flexible than that (unles you are looking for the one part that is only GPL and you want to release a closed source app).
EDIT: before I get screamed at: warning: I don't have any idea of the details about "v2+"