Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^3: serial number generator

by Athanasius (Abbot)
on Oct 04, 2012 at 02:59 UTC ( #997166=note: print w/ replies, xml ) Need Help??


in reply to Re^2: serial number generator
in thread serial number generator

I think this will do what you want:

#!/usr/bin/perl use strict; use warnings; use Excel::Writer::XLSX; use Spreadsheet::XLSX; my $master = 'master.xlsx'; -f $master or die "Spreadsheet '$master' not found: $!"; my $excel = Spreadsheet::XLSX->new($master) or die "Cannot open spreadsheet '$master' for reading: $!"; my $sheet = $excel->{Worksheet}[0]; my $last_old_id = $sheet->{Cells}[ $sheet->{MaxRow} ][0]{Val} // 'IT +S0000'; $last_old_id =~ /(\d+)/; my $first_new_id = $1 + 1; print "How many Serial Numbers do you need?\n"; my $mal = <STDIN>; my $comp = 'ITS'; my @array; for my $number (1 .. ($first_new_id + $mal - 1)) { my $exp = $comp . sprintf("%04d", $number); push @array, $exp; } my $simple = 'simple.xlsx'; my $workbook = Excel::Writer::XLSX->new($simple) or die "Cannot open spreadsheet '$simple' for writing: $!"; my $worksheet = $workbook->add_worksheet(); my @array2 = @array[($first_new_id - 1) .. ($first_new_id + $ma +l - 2)]; $worksheet->write_col(0, 0, \@array2); $workbook = Excel::Writer::XLSX->new($master) or die "Cannot open spreadsheet '$master' for writing: $!"; $worksheet = $workbook->add_worksheet(); $worksheet->write_col(0, 0, \@array);

The full set of IDs is stored in the first column of master.xlsx. The new IDs are (over-)written into the file simple.xlsx, as before.

Hope that helps,

Update: As Anonymous Monk implies below, you have to create an Excel file called master.xlsx first (using Excel), before you run the code. The file should initially be empty.

Athanasius <°(((><contra mundum


Comment on Re^3: serial number generator
Download Code
Replies are listed 'Best First'.
Re^4: serial number generator
by royserna03 (Initiate) on Oct 04, 2012 at 03:51 UTC

    This code is so great! Thank You! I just get an error when I try to run it. It says "Spreadsheet 'master.xlsx' not found: no such file or directory at idperl.pl line 8. I tried looking for an error but I could not find anything. Do you know why it is doing this? Again Thank You so much! you have helped a lot!

      This code is so great!

      How do you know?

      It says "Spreadsheet 'master.xlsx' not found: no such file or directory at

      Do you have a file master.xlsx?

Re^4: serial number generator
by royserna03 (Initiate) on Oct 04, 2012 at 23:30 UTC

    I created it the file, and it worked! thank you so much for your help. I really appreciate the time you put into it! Thank You so much!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://997166]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (18)
As of 2015-07-07 17:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (92 votes), past polls