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....!!!
jueves, 27 de noviembre de 2014
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.
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í:
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);
// 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...
¿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...
sábado, 22 de marzo de 2014
PC se reinicia solo
Problema:
El computador se reinicia solo.
Diagnostico:
Falla en los voltajes de la fuente o posible corto en la torre o en alguno de los periféricos
Solución:
Se procedió a revisar los componentes por separado, es decir: board, fuente, procesador, disco duro, unidad dvd; encontrando que no habían fallas en ninguno de ellos.
Al conectar todo dentro del armario la falla continuaba por lo cual se procedió a verificar cada uno los conectores individuales del panel frontal y sus cables de manera individual encontrando que en los cables de entrada de los puertos de sonido chocaban con las soldaduras del circuito de usb. Se procede a aislar cada uno de los componentes y se ensambla completamente.
Se procede a reinstalar el S.O. por petición del cliente.
miércoles, 22 de enero de 2014
Instalar NETBEANS en Ubuntu 12.04
El proceso es muy sencillo, solo siga estos pasos y listo:
1. Valla a la pagina https://netbeans.org/ y descargue la versión mas actual del IDE.
2. Proceda a descargar la versión para Linux(x86/x64)
3. Cuando el proceso termina, queda un archivo con la extensión .sh en la carpeta Descargas.
4. Inicie la terminal.
5. Ingrese como superusuario con: sudo -s.
6. Estando como superusuario, puede continuar con los siguientes comandos:
7. Puede verificar el directorio actual con: ls.
8. Ingrese en Descargas con: cd Descargas.
9. Digite: chmod +x netbeans-x.x-linux.sh (las x.x son para indicar el numero de la versión descargada, eso lo decide usted).
10. Digite: ./netbeans-x.x-linux.sh
11.Este comando hara que el instalador arranque, de las opciones correspondientes a la instalación del IDE, espere que termine y....
Listo, termino.
1. Valla a la pagina https://netbeans.org/ y descargue la versión mas actual del IDE.
2. Proceda a descargar la versión para Linux(x86/x64)
3. Cuando el proceso termina, queda un archivo con la extensión .sh en la carpeta Descargas.
4. Inicie la terminal.
5. Ingrese como superusuario con: sudo -s.
6. Estando como superusuario, puede continuar con los siguientes comandos:
7. Puede verificar el directorio actual con: ls.
8. Ingrese en Descargas con: cd Descargas.
9. Digite: chmod +x netbeans-x.x-linux.sh (las x.x son para indicar el numero de la versión descargada, eso lo decide usted).
10. Digite: ./netbeans-x.x-linux.sh
11.Este comando hara que el instalador arranque, de las opciones correspondientes a la instalación del IDE, espere que termine y....
Listo, termino.
Suscribirse a:
Entradas (Atom)