Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: serial number generator

by Athanasius (Monsignor)
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
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 chilling in the Monastery: (11)
As of 2014-11-27 11:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (184 votes), past polls