Foros del Web » Programando para Internet » PHP »

PHP OO Configuración Regional

Estas en el tema de Configuración Regional en el foro de PHP en Foros del Web. Estimados, soy nuevo en este foro, tengo la siguiente duda que necesitaría que alguien que pueda me aclare. Estoy generando un archivo excel y al ...
  #1 (permalink)  
Antiguo 21/07/2015, 07:59
 
Fecha de Ingreso: julio-2015
Mensajes: 2
Antigüedad: 8 años, 9 meses
Puntos: 0
Pregunta Configuración Regional

Estimados, soy nuevo en este foro, tengo la siguiente duda que necesitaría que alguien que pueda me aclare.
Estoy generando un archivo excel y al descargarlo necesito que el separador decimal sea el que tiene el usuario configurado en su pc, ¿se entiende?.

Va el código si sirve de algo.


<?php
header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
$fecha= date("y-m-d");
header("content-disposition: attachment;filename=Control_almuerzo_$fecha.xls");

?>
<HTML LANG="es">
<header></header>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<style>
textTabs{
font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;
}

.textTabs{
font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;
}
</style>

<body>
<?php

setlocale(LC_NUMERIC,'es_ES');
setlocale(LC_TIME, 'spanish');



include($_SERVER["DOCUMENT_ROOT"] .'/includes/conexion_mysqli.php');
include($_SERVER["DOCUMENT_ROOT"] .'/includes/functions.php');

$periodo = isSet($_GET["periodo"]) ? $_GET["periodo"]."/01" : "";
$periodo_d = isSet($_GET["periodo_d"]) ? $_GET["periodo_d"] : "";
$periodo_h = isSet($_GET["periodo_h"]) ? $_GET["periodo_h"] : "";




switch($_GET["action"]){

case 0:{
try{


} catch (Exception $e) {
//$objConn->rollBack();
echo ("Fallo: " . $e->getMessage());
}
break;
};
case 1:{

$periodo = isSet($_GET["periodo"]) ? $_GET["periodo"]."/01" : "";

$sql="SELECT COUNT(DISTINCT (us.denom )) AS colaboradores ".
" FROM horas hr ".
" INNER JOIN usuarios us ".
" ON hr.legajo = us.legajo ".
" INNER JOIN usuarios us2 ".
" ON hr.legajo_supervisor = us2.legajo ".
" INNER JOIN tipo_evento te ".
" ON te.id_tipo = hr.id_tipo ".
" INNER JOIN unimed un ".
" ON te.id_unimed = un.id_unimed ".
" WHERE hr.periode ='".$periodo."' AND hr.legajo_supervisor =".$_SESSION["legajo"];

$stmt = $conn->prepare($sql);
$stmt->execute();

$registros = $stmt->rowCount();
$colaboradores = 0;
$cntHoras = 0;
$cntDias = 0;
$cntImportes =0;

if($registros > 0){
$datos = $stmt->fetch();
$colaboradores = $datos["colaboradores"];
}

$sql="SELECT us.denom AS colaborador, te.denom AS evento, ".
" hr.cantidad, un.denom AS medida, hr.fechor, us2.denom AS supervisor, ".
" hr.idcorrel , hr.observaciones , hr.id_tipo , un.id_unimed".
" FROM horas hr ".
" INNER JOIN usuarios us ".
" ON hr.legajo = us.legajo ".
" INNER JOIN usuarios us2 ".
" ON hr.legajo_supervisor = us2.legajo ".
" INNER JOIN tipo_evento te ".
" ON te.id_tipo = hr.id_tipo ".
" INNER JOIN unimed un ".
" ON te.id_unimed = un.id_unimed ".
" WHERE hr.periode ='".$periodo."' AND hr.legajo_supervisor =".$_SESSION["legajo"];

$stmt = $conn->prepare($sql);
$stmt->execute();


$registros = $stmt->rowCount();

if($registros > 0){
$cnt = 0;

$retorno ="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"1000px\">".
"<tr >".
"<td bgcolor=\"#bebebe\" colspan=\"7\">Reporte de Novedades</td>".
"</tr>".
"<tr>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Fecha:</td>".
"<td>".date("Y-m-d")."</td>".
"<td colspan=\"5\"></td>".
"</tr>".
"<tr>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Perdiodo:</td>".
"<td>".$periodo."</td>".
"<td colspan=\"5\"></td>".
"</tr>".
"<tr>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Supervisor</td>".
"<td>".$_SESSION["denom"]."</td>".
"<td colspan=\"5\"></td>".
"</tr>".
"<tr>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Colaborador</td>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Evento</td>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Cantidad</td>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">U.M.</td>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Fecha</td>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Supervisor</td>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Observaciones</td>".
"</tr>";

$color = "";
while ( $rowData = $stmt->fetch() ){

if ($cnt %2 ==0){
$color ="#bebebe";
} else {
$color ="#FFFFFF";
}

$retorno .="<tr>".
"<td>".$rowData["colaborador"]."</td>".
"<td Sstyle=\"widht:130px\">".htmlentities($rowData["evento"])."</td>".
"<td Sstyle=\"widht:60px\">".$rowData["cantidad"]."</td>".
"<td Sstyle=\"widht:60px\">".htmlentities($rowData["medida"])."</td>".
"<td Sstyle=\"widht:100px\">".$rowData["fechor"]."</td>".
"<td Sstyle=\"widht:150px\">".$rowData["supervisor"]."</td>".
"<td Sstyle=\"widht:300px\">".$rowData["observaciones"]."</td>".
"</tr>";

if ($rowData["id_unimed"] == 1){
$cntHoras = $cntHoras + $rowData["cantidad"];
} else if($rowData["id_unimed"] == 2){
$cntDias = $cntDias + $rowData["cantidad"];
} else {
$cntImportes = $cntImportes + $rowData["cantidad"];
}
$cnt = $cnt +1;
}
}

$retorno .="<tr>".
"<td class=\"labelHoras\" bgcolor=\"#bebebe\">Totales".
"</td>".
"<td colspan=\"6\">".
"</td>".
"</tr>".
"<tr>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\" >Horas".
"</td>".
"<td class=\"labelHoras\">".$cntHoras.
"</td>".
"<td colspan=\"5\">".
"</td>".
"</tr>".
"<tr>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Dias".
"</td>".
"<td class=\"labelHoras\">".$cntDias.
"</td>".
"<td colspan=\"5\">".
"</td>".
"</tr>".
"<tr>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Importes".
"</td>".
"<td class=\"labelHoras\">".$cntImportes.
"</td>".
"<td colspan=\"5\">".
"</td>".
"</tr>".
"<tr>".
"<td style=\"font-size:10px;font-family: Verdana, Arial, Helvetica, sans-serif;font-weight:bold;\">Colaboradores".
"</td>".
"<td class=\"labelHoras\">".$colaboradores.
"</td>".
"<td colspan=\"5\">".
"</td>".
"</tr>".
"</table>";


$fileName = "Registro_novedades_".date("d-m-y").".xls";

break;
};
};

header("content-disposition: attachment;filename=".$fileName);
echo($retorno);

?>

</body>
</html>
  #2 (permalink)  
Antiguo 27/07/2015, 00:02
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Configuración Regional

Te recomiendo usar la librería phpExcel,
con ella puedes incluir imagenes, funciones Excel, encabecados, etc.

Para tu ejemplo es sencillo, puedes asignarle los distintos tipos de dato (texto,fecha, moneda, etc).

Etiquetas: fecha, html, registro, select, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:48.