#!/usr/bin/perl
#
use strict;
use warnings;
use MongoDB;
use MongoDB::OID;
use Spreadsheet::ParseExcel;
use Spreadsheet::XLSX;
use Spreadsheet::Read;
use Tie::IxHash;
my $date=$ARGV[0];
$date or $date=`date --date='1 day ago' +%d-%m-%Y`;
chomp $date;
my $file_path="/root/prac/packages/SDP_VAS_NQI-17-06-2015.xlsx";
my $workbook = ReadData($file_path,cells => 0 );
if(defined $workbook->[0]{'error'})
{
print "Error occurred while processing $file_path:".$workbook->[0]
+{'error'}."\n";
exit(-1);
}
my $worksheet = $workbook->[1];
my $max_rows = $worksheet->{'maxrow'};
my $sqi;
my $cell_data=0;
for my $row_num (15..($max_rows))
{
$cell_data = $worksheet->{cell}[2][$row_num]; # same, unformatted
if($date eq $cell_data)
{
$sqi = $worksheet->{cell}[23][$row_num]; # same, unformatted
print "$sqi\n";
print "$cell_data\n";
print "$row_num\n";
}
}
my $db_host="172.16.15.115";
my $db_name="ravi";
my $client = MongoDB::MongoClient->new(host => $db_host, port => 2
+7017);
my $database = $client->get_database( $db_name );
my $data = $database->get_collection("SDP_SQI");
my %insert_data_hourly=();
$insert_data_hourly{'date'}=$cell_data;
$insert_data_hourly{'SQI'}=$sqi;
my $id=$data->insert(\%insert_data_hourly);
I updated as you guided. But it showing a repeated warning
Use of uninitialized value $cell_data in string eq at ./excel_read.pl line 32. Its nearly repeating 35 to 40 times. Whats behind in it |