ETLTCHFIG has asked for the wisdom of the Perl Monks concerning the following question:
We are using the Spreadsheet::XLSX module in our Production environment for reading Excel files on our AIX box and transform to CSV files. We were running fine until we received XLSX files greater than 40MB. We are now failing with an 'Out of memory' - I know this is because we are reading the whole file at once - but dont know if there is a way to reduce the memory usage (like in Spreadsheet::ParseExcel, I remember John had provided the cell handler function that reduced the size of the cell object). Is there something similar available for Spreadsheet::XLSX?
Your help is greatly appreciated!
Also, here is our perl environment information to aid your review - Summary of my perl5 (revision 5 version 10 subversion 1) configuration:Platform: osname=aix, osvers=5.3.0.0, archname=aix uname='aix laatdm62 3 5 00c396bc4c00 ' config_args='-de -Dcc=cc_r' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und +ef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc_r -q32', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_ +SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -q32 -D_LARGE_FI +LES -qlonglong', optimize='-O', cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem= +-1 -qnoansialias -DUSE_NATIVE_DLOPEN' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', + lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='ld', ldflags =' -brtl -bdynamic -b32 -bmaxdata:0x80000000' libpth=/lib /usr/lib /usr/ccs/lib libs=-lbind -lnsl -ldbm -ldl -lld -lm -lcrypt -lc perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lc libc=/lib/libc.a, so=a, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -bE:/usr/ +local/lib/perl5/5.10.1/aix/CORE/perl.exp' cccdlflags=' ', lddlflags=' -bhalt:4 -G -bI:$(PERL_INC)/perl.exp - +bE:$(BASEEXT).exp -bnoentry -lc -lm' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO Built under aix Compiled at Feb 26 2011 02:13:00 @INC: /usr/local/lib/perl5/5.10.1/aix /usr/local/lib/perl5/5.10.1 /usr/local/lib/perl5/site_perl/5.10.1/aix /usr/local/lib/perl5/site_perl/5.10.1
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Out of Memory
by Corion (Patriarch) on May 05, 2011 at 06:44 UTC | |
by ETLTCHFIG (Novice) on May 05, 2011 at 16:18 UTC | |
Re: Out of Memory
by vkon (Curate) on May 05, 2011 at 07:35 UTC | |
by Corion (Patriarch) on May 05, 2011 at 07:38 UTC | |
by vkon (Curate) on May 05, 2011 at 08:28 UTC | |
by ETLTCHFIG (Novice) on May 05, 2011 at 18:16 UTC | |
by vkon (Curate) on May 05, 2011 at 19:26 UTC | |
by ETLTCHFIG (Novice) on May 05, 2011 at 19:45 UTC | |
by ETLTCHFIG (Novice) on May 05, 2011 at 20:31 UTC | |
by vkon (Curate) on May 06, 2011 at 06:17 UTC | |
Re: Out of Memory
by ETLTCHFIG (Novice) on May 05, 2011 at 00:25 UTC | |
Re: Out of Memory
by runrig (Abbot) on Jun 07, 2012 at 23:19 UTC | |
Re: Out of Memory
by ETLTCHFIG (Novice) on May 05, 2011 at 20:46 UTC | |
by ETLTCHFIG (Novice) on May 06, 2011 at 00:14 UTC | |
Re: Out of Memory
by ETLTCHFIG (Novice) on May 06, 2011 at 01:35 UTC | |
Re: Out of Memory
by ETLTCHFIG (Novice) on May 06, 2011 at 01:51 UTC | |
Re: Out of Memory
by oxone (Friar) on May 06, 2011 at 06:01 UTC | |
by oxone (Friar) on May 06, 2011 at 15:13 UTC | |
Re: Out of Memory
by LanX (Saint) on May 05, 2011 at 00:38 UTC | |
by ETLTCHFIG (Novice) on May 05, 2011 at 03:51 UTC |