in reply to Re: Problem with inserting data into MongoDB
in thread Problem with inserting data into MongoDB

#!/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

Replies are listed 'Best First'.
Re^3: Problem with inserting data into MongoDB
by Corion (Patriarch) on Aug 14, 2015 at 13:05 UTC

    Have you looked at line 32 in your code? What happens there? Have you inspected the values that are used on that line? What is in them? Perl comes with documentation for all its warnings in warnings. Maybe you should read them.

Re^3: Problem with inserting data into MongoDB
by GotToBTru (Prior) on Aug 14, 2015 at 16:33 UTC

    What does the message say? $cell_data is uninitialized. The assignment immediately preceding it is not finding a value. Perhaps those cells are empty?

    Dum Spiro Spero