in reply to How do I alter an MS Excel spreadsheet with Perl?

Hi, Sue

Since you've not posted any code, I'm not going to either, however here's one method you could use...

Assumptions:
  1. You really do mean the column is empty... all 65525 rows...
  2. You know about Win32::OLE and you are able to write VB (or at least click Tools/Macros/Record then ALT+F11 when you stop) or read VB...
Pseudocode
Create Excel.Application object using Win32::OLE
Create Workbook Object  #$ExcelApp.WorkBooks("my book")
Create Worksheet Object #$Book->Sheets("my sheet")
Find Range "A1" using $Sheet->Cells(1,1)->Select
   Iterate over all cells in column 
       Comparing the content to either "" or 0 
       (Excel is odd so this may depend on Formatting!)
   Move to next column and repeat

If you get to the last cell and it has nothing in it.. 
There is a DeleteEntireColumn method lurking about.

This isn't a really clever way to do it but I suspect your actual criteria doesn't involve checking 65525 rows, does it?

HTH - Mark

  • Comment on Re: How do I alter an MS Excel spreadsheet with Perl?