On Thu, May 17, 2012 at 5:38 PM, Luis Rodriguez <luisro58@xxxxxxxxx> wrote:
The only caveat with the www.easy400.net routines are that converting a
table TO XLS can be quite slow (we have an old i5-250, running V5R3).
Since I have not tried them myself, I can't say whether they are
"abnormally" slow or just "as slow as they have to be, given the tough
nature of the problem". I have heard that Java (which HSSF is written
in) on older AS/400 and iSeries machines is particularly slow (which
matches my experience on V5R2) and that it doesn't suck nearly as bad
on newer systems (due to improvements in both POWER hardware and JVM
software).
What I *can* say is that the xlwt package for Python is usually
referred to as "fast". Now, people who say this generally mean (1)
it's fast enough for their purposes, and (2) it's faster than
programmatically controlling a running instance of Excel via scripting
(on platforms where this is possible at all). I don't know if xlwt is
fast compared to HSSF.
In fact, I prefer to work with .CSV files either for reading or writing Excel
files, only using the Excel-to-PF routines when the data is received in
either .XLS or .XLSX format.
CSV is intrinsically faster and much, much simpler, but it is also
very limited. In particular, CSV is not suitable for representing
some kinds of data, as this thread shows. But also, Excel provides a
nicer end-user experience. If a user gets a CSV, they usually have to
futz with the column widths, the headings are not in bold or otherwise
set off from the data, numbers have to be formatted, etc.
For what it's worth, Python comes with a CSV module, and it's very easy to use.
I have wanted to install and play with iSeries Python for sometime now, but
I'm afraid that the free time for that is hard to find.
Very understandable. Time is a problem for all of us. Do you already
know Python? If so, then I recommend installing it anyway:
http://sourceforge.net/projects/iseriespython/
It's not hard and it doesn't take long. I did it myself, and I'm
really not an iSeries person when it comes to system tasks. (It comes
with very clear, simple instructions.) If the problem is that you
don't know Python, then it might be better to play with
Windows/Linux/Mac Python by yourself for a while first. (It's already
installed on virtually all Linux and Mac machines, and has a simple
installer for Windows. There are on-line tutorials abound, including
one in the official documentation, which is how I learned Python.)
Also, I worry that if I ever go that route my coworkers won't
be able to modify and/or understand the code (please don't ask...).
This is a valid concern. There are certainly legitimate (and even
ethical) reasons why a person would want to avoid introducing new
technology. Personally, I found that Python was too much of a
productivity and functionality gain. I told everyone that I'm using
it, so they know it's there, and no one objected. And it's one of the
easier languages to learn.
That said, could you post the Python code somewhere (e.g. code.midrange.com).
It sounds interesting...
Sure. I will have to kind of clean it up a bit, to make it suitable
for "public consumption", but I'll see about posting it within the
next few days.
John
As an Amazon Associate we earn from qualifying purchases.