Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use DBI;
  5. use Spreadsheet::ParseExcel::Simple;
  6. my $yesno;
  7. my $statement;
  8.  
  9. my $dir = '/home/ubuntu/sipdownloads/';
  10. my $dbh = DBI->connect("dbi:mysql:lightspeed", "lightspeed", "webstore")
  11. or die $DBI::errstr;
  12.  
  13. my $sth = $dbh->prepare("truncate table siptemp");
  14. $sth->execute();
  15.  
  16.  
  17. opendir(DIR, $dir) or die $!;
  18. while (my $file = readdir(DIR)) {
  19.  
  20. # We only want files
  21. next unless (-f "$dir/$file");
  22.  
  23. # Use a regular expression to find excell files
  24. next unless ($file =~ m/\.xls$/);
  25.  
  26. print "$dir$file\n";
  27.  
  28. my $xls = Spreadsheet::ParseExcel::Simple->read("$dir$file");
  29. foreach my $sheet ($xls->sheets) {
  30. my $counter = 0;
  31. while ($sheet->has_data) {
  32. my @data = $sheet->next_row;
  33.  
  34. if ($counter < 7) {
  35. $counter++;
  36. } elsif ($counter == 8){
  37. $counter++;
  38. } else {
  39. s/,/./g for @data;
  40. s/\n/ /g for @data;
  41. s/ USD//g for @data;
  42. if ($data[12] eq 'Yes') {$yesno =1;} else {$yesno =0;}
  43. my $statement = "insert into siptemp (article, description, price, cost, cost5, instock) values (\'$data[0]\',\'$data[2]\',\'$data[4]\',\'$data[6]\',\'$data[8]\',\'$yesno\')";
  44. $sth = $dbh->prepare("$statement");
  45. $sth->execute();
  46. $counter++;
  47. }
  48. }
  49. }
  50. }
  51.  
  52. $sth = $dbh->prepare("truncate table sip");
  53. $sth->execute();
  54. $sth = $dbh->prepare("insert into sip select distinct * from siptemp");
  55. $sth->execute();
  56.  
  57. $dbh->disconnect
  58. or warn "Disconnection failed: $DBI::errstr\n";
  59.  
  60. closedir(DIR);
  61.  
  62. exit 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement