Perl Excel创建.csv和.xls文件。我的要求是.csv3. ## 类似这样的mysql查询还有很多。它们没有被提出,这将延长代码并造成混乱4. ## 所有查询都运行良好5. ## 文件也正在创建中6. ## 所需的只是:每30秒添加一次数据(行)。(my

Perl Excel创建.csv和.xls文件。我的要求是.csv3. ## 类似这样的mysql查询还有很多。它们没有被提出,这将延长代码并造成混乱4. ## 所有查询都运行良好5. ## 文件也正在创建中6. ## 所需的只是:每30秒添加一次数据(行)。(my,perl,dbi,Perl,Dbi,Excel创建.csv和.xls文件。我的要求是.csv3. ## 类似这样的mysql查询还有很多。它们没有被提出,这将延长代码并造成混乱4. ## 所有查询都运行良好5. ## 文件也正在创建中6. ## 所需的只是:每30秒添加一次数据(行)。(mysql查询中的计数(*)。##7. ## 谢谢:)“在运行代码时,我当然必须对use strict和use warnings进行注释”。然后我强烈建议您修复代码,这样您就不必在运行它之前注释掉strict和warnings。是的,戴夫,我会的。


Excel创建.csv和.xls文件。我的要求是.csv3. ## 类似这样的mysql查询还有很多。它们没有被提出,这将延长代码并造成混乱4. ## 所有查询都运行良好5. ## 文件也正在创建中6. ## 所需的只是:每30秒添加一次数据(行)。(mysql查询中的计数(*)。##7. ## 谢谢:)“在运行代码时,我当然必须对use strict和use warnings进行注释”。然后我强烈建议您修复代码,这样您就不必在运行它之前注释掉
strict
warnings
。是的,戴夫,我会的。但这不是解决方案。“电子表格::WriteExcel创建.csv和.xls文件”。我认为你错了。我在文档中找不到电子表格::WriteExcel创建CSV文件的参考。要编写CSV文件,请使用Text::CSV或Text::CSV_XS。请稍候,让我向您展示创建的文件:)我将展示相同的屏幕截图。
use strict;
use warnings;
use DBI;
use Spreadsheet::WriteExcel;

# DEFINING THE DATE 
 ($sec,$min,$hour,$mday,$mon,$year) =localtime(time);
undef $sec;
undef $hour;
undef $min;
$year += 1900;
$mday;
$mon+=1;
if ($mon < 10) {
        $mon = "0".$mon;
    }
if ($mday < 10) {
        $mday = "0".$mday;
    }

# CREATION OF A NEW WORKBOOK AND ADDITION OF A WORKSHEET
$tdate = sprintf("%04d%02d%02d", $year, $mon, $mday);
$SubsLogFile = "Subscription-".$tdate;
$SubsLogFile .= ".csv";

my $workbook  = Spreadsheet::WriteExcel->new($SubsLogFile);
my $worksheet = $workbook->add_worksheet();


#=============================================

# FORMAT FOR THE HEADER
my $format = $workbook->add_format();
$format->set_bold();
$format->set_color('red');
$format->set_align('center');


# CREATION OF THE HEADER   
$worksheet->write(0, 0, "Sub Day", $format);
$worksheet->write(0, 1, "Sub Hour", $format);

#=============================================


###################
## SUBSCRIPTIONS ##
###################

# INPUTTING THE SERVER DETAILS
$db ="abcd";
$user = " abcd ";
$pass = " abcd ";
$host="100.100.100.100";
my $col = 2;



# GENERATING THE SQL QUERIES
$query1 = "SELECT COUNT(*) FROM subscription_detail WHERE creation_date >=CURRENT_DATE();";
 $query2 = "SELECT COUNT(*) FROM subscription_detail WHERE     DATE_FORMAT(creation_date,'%Y-%m-%d %H')  >= DATE_FORMAT(NOW(),'%Y-    %m-%d %H');"; 

# CONNECTING TO THE SERVER
    $dbh = DBI->connect("DBI:mysql:$db:$host", $user, $pass,{
      PrintError => 0,
      RaiseError => 0
  } ) or die "Can't connect to the database: $DBI::errstr\n";

$sqlQuery1  = $dbh->prepare($query1) or die "Can't prepare $query1: $DBI::errstr\n";
$sqlQuery2  = $dbh->prepare($query2) or die "Can't prepare $query2: $DBI::errstr\n"; 

# EXECUTING THE QUERIES
my $rv = $sqlQuery1->execute or die "can't execute the query: $DBI::errstr\n";
my $rv = $sqlQuery2->execute or die "can't execute the query: $DBI::errstr\n";

#=============================================

# OUTPUTING THE VALUES

while (@row= $sqlQuery1->fetchrow_array()) {
my $data1 = $row[0];
$worksheet->write($col, 0, "$data1");
};


while (@row= $sqlQuery2->fetchrow_array()) {
my $data2 = $row[0];
$worksheet->write($col, 1, "$data2");
};

# Close Workbook
$workbook->close();