APM: Perl, Win32 OLE, and Excel

Keith Howanitz howanitz at gmail.com
Thu Jul 23 10:51:06 PDT 2009

On Thu, Jul 23, 2009 at 12:20 PM, John Warner<jwarner at texas.net> wrote:
> All,
> I have a project where I am trying to filter through a large amount of data
> from an Excel spreadsheet.  Since I don't have access to the databases where
> the data actually resides, I have to use a spreadsheet that was given to me.
> The spreadsheet contains 79 columns and approximately 113k rows.  The data
> are customer satisfaction survey results along with a plethora of other
> garbage I don't need.  I am only interested in a few columns.

Have you tried putting a simple output when reading the xls file to
show you how far you are getting in the file before having problems -
maybe you are really going beyond 113k records, or it is choking on
unusual data in one particular record.

I wonder if you simply saved the xls file as a csv file and used the
TEXT::CSV_XS module if you would still have troubles.

If you want to read the whole thing into memory, you could always read
each line, put the 3 important fields in array, and then read the next
line so that you only end up with an array that is 113k x 3 rather
than the whole spreadsheet in memory.

More information about the Austin mailing list