A ver si este ejemplo corto te vale
Using perl Syntax Highlighting
use Spreadsheet
::ParseExcel;
my $excel = Spreadsheet
::ParseExcel::Workbook->Parse("EMPRESAS_CLIENTES_27_12_06_2.xls");
print @{$excel->{Worksheet
}[1
]{Cells
}[1
][1
]{Format
}{BdrStyle
}};Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Bueno, está un poco compactado, pero estamos accediendo a la segunda hoja del libro Excel y vemos lo que hay en la celda B2, su formato, y dentro de su formato, el estilo de los bordes.
Lo que nos devuelve es una referencia a un array, por eso todo está rodeado por @{}, para convertirlo a un array normal. La salida es parecida a esto: 1221, que quiere indicar los bordes de la celda a la izquierda, derecha, arriba y abajo.
Se podía haber expresado también así:
Using perl Syntax Highlighting
my $borde_superior = $excel->{Worksheet
}->[1
]->{Cells
}->[1
]->[1
]->{Format
}->{BdrStyle
}->[2
];Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
pero ya sabemos que en Perl podemos obviar el poner '->' cuando estamos entre {} y [].
También, otra forma de acceder, es ir guardando los objetos intermedios:
Using perl Syntax Highlighting
$hoja = $excel->{Worksheet
}->[1
];
$celda = $hoja->{Cells
}[1
][1
];
$formato = $celda->{Format
};
$bordes = $formato->{BdrStyle
};
print $bordes->[3
];Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Esto está bien para sacar la información de una celda, pero lo mejor es ver la Sinopsis del módulo para ver cómo recorrer todas las celdas de la hoja.