If you would like to manipulate an Excel file directly, you should use the module Win32::OLE. This will actually launch Excel in the background (you can verify this by looking for instances of EXCEL.EXE in the Task Manager) and do whatever changes you want to make. Some example code might be (for your question 2 (untested since I'm on Linux atm)):

my $excel = Win32::OLE->new('Excel.Application'); my $workbook = $excel->Open("filenamehere.xls"); $workbook->Sheets[0]->{Name} = "New Sheet Name"; $workbook->Save(); $excel->Quit();

The full documentation for this is found on MSDN online and available for a free download. Look for "Microsoft Excel Visual Basic Reference." You will obviously need to translate the examples from VB into Perl, and the documentation for Win32::OLE explains more clearly how to do that. Particularly look at the section on Office. As for caveats, note that this will only work on Windows and only on a machine that has Excel installed.

For your question 1, I think you just want to copy a file under another name. This isn't really specific to Excel, so you should use the module File::Copy, which should be available on PPM if you don't have it already.


In reply to Re: Excel using Perl ? by Errto
in thread Excel using Perl ? by guguqiaqia

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.