【发布时间】:2015-02-06 14:03:46
【问题描述】:
我是 perl 的新手。我需要读取 excel 文件并插入数据库。这是我的试用代码:
#!/usr/bin/perl -w
use DBI;
use warnings;
my $dbh = DBI->connect("DBI:mysql:database=afscp;host=135.75.60.120; mysql_socket=/var/lib/mysql/mysql.sock","blrdev_rw","W.mZk8", {'RaiseError' => 1});
my $insert_table_2= $dbh->prepare(q{INSERT INTO employee_perl (emp_id,first_nm,last_nm,team_code) VALUES (?, ?,?,?)}) or die $dbh->errstr;
open (FILE, "Excel/Book1.xls") or die "Couldn't read file: $!";
while (<FILE>)
{
chomp;
my @fields = split(',', $_);
my $emp_id = shift(@fields);
my $fname = shift(@fields);
my $lname = shift(@fields);
my $team_code = shift(@fields);
$insert_table_2->execute($emp_id,$fname,$lname,$team_code) or die $dbh->errstr;
}
close (FILE);
$dbh->disconnect();
【问题讨论】:
-
xls 是一种二进制格式——你需要像search.cpan.org/~dougw/Spreadsheet-ParseExcel-0.65/lib/… 这样的东西来读取二进制格式。
-
你在哪个平台上?您可以使用
Win32::OLE驱动 Excel。您还可以可能取消选择xlsx,因为那是一个包含 XML 的 zip 文件。
标签: perl spreadsheet import-from-excel