jueves, 27 de noviembre de 2014

Error Uncaught exception 'PHPExcel_Reader_Exception' with message en libreria PHPExcel

Pues les cuento que justo en estos días estaba trabajando en un proyecto en PHP en el cual se debe generar un archivo excel a partir de una plantilla del mismo formato.
Entonces, lo que se debe hacer es:

Llamar las clases con las que se va a trabajar, para mi caso son suficientes:

require_once '../Classes/PHPExcel.php';
require_once '../Classes/PHPExcel/IOFactory.php';

Crear una instancia de la clase PHPExcel_IOFactory llamando al método load, el cual carga en el nuevo objeto el archivo base para trabajar en xlsx.

Aquí es donde viene el dolor de cabeza al famoso error

Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open ../carpeta/archivoBase.xlsx for reading! File does not exist.' in /home/servidor/public_html/carpetaRaiz/carpetaAplicacion/Classes/PHPExcel/Reader/Excel2007.php:82

Resulta que en función de la versión de PHP que se este ejecutando, la manera como se pase esta cadena genera o no dicho error, es decir:

Si estoy en un servidor con PHP 5.5, admite pasar el parámetro de la función load a través de una variable...asi:

$ruta='../carpeta/archivoBase.xlsx'
$objPHPExcel = PHPExcel_IOFactory::load($ruta);

pero si es una versión de PHP inferior a esta, entonces se debe pasar así:

$objPHPExcel = PHPExcel_IOFactory::load('../carpeta/archivoBase.xlsx');

Se los dejo para que eviten todo lo que tuve que pasar...jeje

Saludos

Ah...no olviden comentar....!!!

martes, 28 de octubre de 2014

Conocer el valor de un radio button seleccionado

Bueno, hace ratico no escribo nada por aca; pues les cuento que trabajando un poquito en javascript en algún momento me encontre con la necesidad de verificar de un grupo de input de tipo radio button de html, cual de ellos estaba seleccionado y obtener su valor.

El código mas o menos quedo así:

Este es el nombre de la función que retorna el valor de dicha selección.
function retornarIdComparendo() {
Cargamos en la variable elementos los datos contenidos en el elemento terminarTabla que para mi caso es un div y dentro de el existe una lista de input radio button llamada idComparendo.
                var elementos = document.terminarTabla.idComparendo;
Aqui calculamos la cantidad de elementos
                var cantidad = elementos.length;
Acudimos a un ciclo, en este ciclo hacemos nuestra magia...jeje
                for (var i = 0; i < cantidad; i++) {
Asignamos a la variable elemento el radio button contenido en el número de ciclo, verificando si esta seleccionado. Esta línea devuelve un true o false dependiendo si el radio button esta o no seleccionado.
                    var elemento = document.terminarTabla.idComparendo[i].checked;
                    if (elemento === true) {
Finalmente retormanos el valor del radio button que esta selecionado y ...
                        return document.terminarTabla.idComparendo[i].value;
detenemos el ciclo.
                        break;
                    }
                }
            }

Gracias por leer el articulo, si tiene una mejor manera de hacerlo o mediante alguna libreria; por favor no dude en dejar sus comentarios sobre como mejorarlo en la sección correspondiente.


jueves, 8 de mayo de 2014

Leer datos de puerto serial en PHP

Hace ratico no paso por aquí y pues de puro chevere les voy a dejar un código para enviar y recibir datos de un puerto serial en un pc...eso si no es perfecto pero si a usted le sirve sin duda espero que me lo haga saber a través de un mensaje en este blog.


Tuve que abrir el com3, pero si usted quiere puede trabajar el com1 pues para las pruebas se uso un "Invento electronico" que retornara unos caracteres despues de 3 segundos...jeje...
Tengo que reconocer buena parte de este código a www.pesadillo.com quien tiene buena parte de este, pero yo le añadi el retorno que no es cosa del otro mundo, sin mas preambulos pues es así:

// La siguiente línea ejecutará una orden en DOS. Esto solo debe ejecutarse una vez.
// Las comillas hacen que lo ejecute Windows directamente

 `mode com3: BAUD=9600 PARITY=N data=8 stop=1 xon=off``;

//Abrimos el puerto com3 $fp = fopen ("COM3","w+");
// si el com3 no esta abierto entonces manda mensaje de error

if (!$fp) {

  echo "Error al abrir COM3";

 //de lo contrario

 } else {

 echo $fp;

//enviar caracteres al cmd

$datos1 = escapeshellcmd("A");

//funcion para enviar los datos

fputs($fp, $datos1);

 //espear 4 segundos

sleep(4);

//recuperar la respuesta

$v=fgets($fp);

//cerrar el puerto

fclose($fp);

martes, 22 de abril de 2014

Sublime Text en Ubuntu



Pues mirando en los repositorios de mi apreciado "Ubuntu", el Sublime Text no estaba por ahí. Entonces seguí estos pasos para su instalación y se los cuento para que lo hagan si lo necesitan.

1. Primero agregamos el repositorio de la aplicación

     sudo add-apt-repository ppa:webupd8team/sublime-text-3

2. Hacemos una actualizacion

    sudo apt-get update

3. Instalamos

    sudo apt-get install sublime-text-installer

Ups!!! estos pasos son para instalar por consola, que es mucho mas facil (para mi) que descargando el tar.bz2.

martes, 8 de abril de 2014

El despido de Windows XP

Que caray, debo hacerlo; pero para crear este post debo hacerme esta pregunta:

¿Cuantas personas habrían intervenido en la creación por parte de la empresa del Señor Gates para la creación del sistema operativo hasta el momento mas longevo en la historia de Microsoft?

Pues la respuesta exacta no la se, pero lo que si se y es de fácil deducción es el hecho del gran impacto que causo en su momento este sistema operativo, impacto que se ve reflejado también en el hecho de que ya hoy no le debo decir a un cliente que tenga en su maquina la famosa etiqueta de la clave de dicho S.O. que pues debe pasarse a Windows 7, o peor aun; que compre otra maquina. Digo peor aun pues por la sencilla razón que no todas las personas tienen en su bolsillo y para ya la suma suficiente para comprar otra maquina de escritorio o portátil que venga con el " Maravillosamente incomprendido Windows 8" (¿ Sera que si es "incomprendido" ? o ¿sera que en 12 años de trabajo se cagaron el equipo de trabajo que construyo el XP y fueron "otros" los que sacaron el Windows 8? que por cierto a pesar de que mi vecina lleva con la maquina desde nueva con él, aun no termina de adaptarse a ese mundo de cuadritos de colores por todos lados). Bueno, en todo caso mientras mis clientes buscan la platica para comprarse su próximo "Super-PC" yo iré contándoles el cuento de las plataformas GNU/Linux y entre otras cosillas, la paupérrima cantidad de virus (no he conocido el primero en lo que llevo como usuario de Ubuntu y sus derivados), las suites de oficina libres, la ventaja de buscar codecs libres para la reproducción de sus videos y música...bueno y en fin todo ese "pequeño mundillo" que hay de este lado.

Tengo que reconocer que hay personas a las que ya les va de maravilla con el Windows 8 y quizás estén mejor adaptados que los usuarios de plataformas como Windows 7 y Windows Vista (otro incomprendido o ¿no?), en todo caso seguiré recibiendo personas que quedaran loquitas al tratar de abrir Microsoft Word o Microsoft Excel en dicha interfaz y pues tocara prepararse para entender a los ya famosos incomprendidos S.O. de Don Gates.

Que caray...