Usando Php Excel en Joomla
Lo primero que debemos hacer es descargar la última versión de PhpExcel de la página oficial (http://phpexcel.codeplex.com/) luego de descargarla debemos descomprimirla en la carpeta de librerías de joomla
RUTA_A_JOOMLA/libraries
Donde RUTA_A_JOOMLA es la ruta donde está instalada joomla
En esta carpeta libraries copiamos la carpeta completa phpexcel.
Ahora para poder usar la librería en nuestra aplicación debemos incluir las clases necesarias, en este caso solo incluyo las más comunes que son las que usamos en el ejemplo si se requieren más pues se incluyen de la misma manera:
require_once( JPATH_SITE . DS . 'libraries' . DS . 'phpexcel' . DS . 'PHPExcel.php' );
require_once( JPATH_SITE . DS . 'libraries' . DS . 'phpexcel' . DS . 'PHPExcel' . DS. 'IOFactory.php' );
Ahora para cargar el archivo
$objPHPExcel = PHPExcel_IOFactory::load( “nombre_archivo.xls” );
O si queremos cargar un excel 2007
$objPHPExcel = PHPExcel_IOFactory::load( “nombre_archivo.xlsx” );
El nombre del archivo debe incluir la ruta desde la carpeta de instalación del Joomla, por ejemplo si el archivo esta dentro de Joomla en la carpeta files el nombre del archivo que cargamos es
“files” . DS . ”nombre_archivo.xls”
Ahora seleccionamos la hoja activa
$objWorksheet = $objPHPExcel->getActiveSheet();
Leemos por ejemplo la celda A5
$a5 = $objWorksheet->getCell(“A5”)->getValue();
Escribimos en la celda A10
$objWorksheet->getCell('A10')->setValue('Desde Php…');
Ahora simplemente guardamos los cambios
$objWriter = PHPExcel_IOFactory::createWriter( $objPHPExcel , 'Excel5');
$objWriter->save( 'write.xls');
IMPORTANTE: Si estas usando phpexcel versión 1.7.2 o superior se va a presentar un problema debido a un conflicto en las funciones autoload( la cual es la encargada de cargar las clases de PHP en el momento en que las usemos) el problema radica en que phpexcel reescribe la función autoload de Joomla por lo tanto debemos hacer lo siguiente:
Buscar el archivo RUTA_A_JOOMLA/libraries/loader.php
En este archivo debemos poner en comentarios la función autoload y escribir una nueva la cual llamé __Jautoload y luego de esto la registramos en las librerías de php con las dos instrucciones del final y listo!. Bueno esta solución no es muy recomendada porque reescribimos una clase del core de Joomla pero mientras encontramos una solución más elegante podemos usar esta, si alguien encuentra una forma de hacerlo mejor nos la puede compartir para actualizar el documento.
/**
* When calling a class that hasn't been defined, __autoload will attempt to
* include the correct file for that class.
*
* This function get's called by PHP. Never call this function yourself.
*
* @param string $class
* @access public
* @return boolean
* @since 1.5
*/
/*
function __autoload($class)
{
if(JLoader::load($class)) {
return true;
}
return false;
}
*/
function __Jautoload($class)
{
if(JLoader::load($class)) {
return true;
}
return false;
}
/*** specify extensions that may be loaded ***/
spl_autoload_extensions('.php, .class.php, .lib.php');
/*** register the loader functions ***/
spl_autoload_register('__Jautoload');

Comentarios
/*** specify extensions that may be loaded ***/
spl_autoload_extensions('.php, .class.php, .lib.php');
/*** register the loader functions ***/
spl_autoload_register('__Jautoload');