DBD-Excel
view release on metacpan or search on metacpan
lib/DBD/Excel.pm view on Meta::CPAN
# DBD::Excel::dr
#===============================================================================
package DBD::Excel::dr;
$DBD::Excel::dr::imp_data_size = 0;
#-------------------------------------------------------------------------------
# connect (DBD::Excel::dr)
# connect database(ie. parse specified Excel file)
#-------------------------------------------------------------------------------
sub connect($$@) {
my($hDr, $sDbName, $sUsr, $sAuth, $rhAttr)= @_;
#1. create database-handle
my $hDb = DBI::_new_dbh($hDr, {
Name => $sDbName,
USER => $sUsr,
CURRENT_USER => $sUsr,
});
#2. parse extra strings in DSN(key1=val1;key2=val2;...)
foreach my $sItem (split(/;/, $sDbName)) {
if ($sItem =~ /(.*?)=(.*)/) {
lib/DBD/Excel.pm view on Meta::CPAN
$hDb->STORE('xl_parser', $oExcel);
$hDb->STORE('xl_book', $oBook);
$hDb->STORE('xl_skiphidden', $rhAttr->{xl_skiphidden}) if $rhAttr->{xl_skiphidden};
$hDb->STORE('xl_ignorecase', $rhAttr->{xl_ignorecase}) if $rhAttr->{xl_ignorecase};
return $hDb;
}
#-------------------------------------------------------------------------------
# _getColName (DBD::Excel::dr)
# internal use
#-------------------------------------------------------------------------------
sub _getColName($$$$$$) {
my($iIgnore, $iHidden, $oWkS, $iRow, $iColS, $iColCnt) = @_;
my $iColMax; #MAXIAM Range of Columns (Contains HIDDEN Columns)
my $iCntWk = 0;
my $MaxCol = defined ($oWkS->{MaxCol}) ? $oWkS->{MaxCol} : 0;
if(defined $iColCnt) {
if(($iColS + $iColCnt - 1) <= $MaxCol){
$iColMax = $iColS + $iColCnt - 1;
}
else{
lib/DBD/Excel.pm view on Meta::CPAN
#===============================================================================
# DBD::Excel::Table
#===============================================================================
package DBD::Excel::Table;
@DBD::Excel::Table::ISA = qw(SQL::Eval::Table);
#-------------------------------------------------------------------------------
# column_num (DBD::Excel::Statement)
# Called with "SELECT ... FETCH"
#-------------------------------------------------------------------------------
sub column_num($$) {
my($oThis, $sCol) =@_;
$sCol = uc($sCol) if($oThis->{xl_t_database}->FETCH('xl_ignorecase'));
return $oThis->SUPER::column_num($sCol);
}
#-------------------------------------------------------------------------------
# column(DBD::Excel::Statement)
# Called with "SELECT ... FETCH"
#-------------------------------------------------------------------------------
sub column($$;$) {
my($oThis, $sCol, $sVal) =@_;
$sCol = uc($sCol) if($oThis->{xl_t_database}->FETCH('xl_ignorecase'));
if(defined $sVal) {
return $oThis->SUPER::column($sCol, $sVal);
}
else {
return $oThis->SUPER::column($sCol);
}
}
#-------------------------------------------------------------------------------
( run in 2.335 seconds using v1.01-cache-2.11-cpan-65fba6d93b7 )