in reply to Re: Adding Excel sheet
in thread Adding Excel sheet

This works great except for one thing.... AddCell just adds a cell, I need it to replace the cell rather than AddCell, I would need something like 'EditCell'. WriteExcel wont be able to write to this. How would you edit the cell? Is it possible to delete the cell and replace it with 'AddCell'?

Replies are listed 'Best First'.
Re^3: Adding Excel sheet
by Trix606 (Monk) on Oct 19, 2005 at 03:13 UTC
    Looking at your original post, I'm a little confused as to why you need to edit a cell. If you use Spreadsheet::ParseExcel::SaveParser you load in your existing spreadsheet then create your new worksheet:
    $oBook->AddWorksheet('February');
    To this new blank worksheet first add the cells from the prior month's worksheet that are the same in the new month's worksheet for example:
    my $oOld_Sheet = $oBook->{Worksheet}[0]; for (my $row = 0; $row <= 4; $row++) { my $oCell = $oOld_Sheet->{Cells}[$row][0]; if (defined $oCell->{Val}) { $oBook->AddCell(1, $row, 0, $oCell->{Val}, $oCell); } }
    Adding the sales for the new month to the new sheet using the AddCell method as well. Finally save the workbook under a new name using the SaveAs method.

    If you really need to edit a cell then Win32::OLE as InfiniteSilence and davidrw mentioned is probably what you will have to use, also if the worksheet you are adding contains formulas.

      Yes the worksheets contain formulas. For the new worksheet, I need everything to be the same as the previous(format, etc). I just need to replace most of the numbers copied over from the previous worksheet with the numbers from the current month. I will try Win32::OLE.. Thanks again...