• Jueves 7 de Noviembre de 2024, 21:33

Autor Tema:  como generar una tabla generada en Excel en PHP?  (Leído 2037 veces)

gokufast

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
como generar una tabla generada en Excel en PHP?
« en: Viernes 13 de Febrero de 2009, 14:05 »
0
Hola amigos, aca acudiendo a ustedes para que me puedan iluminar para resolver este problema.
tengo la siguiente tabla, que esta generada en excel y la tengo que programar con PHP.

(http://desmond.110mb.com/tabla.jpg)

Tengo el siguiente codigo:
Código: PHP
  1. $cuota_mes = 661.66;
  2. $monto = 11188;
  3. $interes_mes_1 = $monto*(8/1200);
  4. $amortizacion_mes_1 = $cuota_mes - $interes_mes_1;
  5. $acumulada_mes_1 = $amortizacion_mes_1;
  6. $pendiente_mes_1 = $monto - $amortizacion_mes_1;
  7. $meses = 18;
  8.  
  9. echo "<table border='1'>";
  10. echo "<tr>";
  11. echo "<td width='120' align='center' rowspan='2'>Numero</td>";
  12. echo "<td width='120' align='center' rowspan='2'>Amortización Mes</td>";
  13. echo "<td width='80' align='center' rowspan='2'>Interes Mes</td>";
  14. echo "<td width='80' align='center' rowspan='2'>Total Mes</td>";
  15. echo "<td colspan='2' align='center'>Amortización</td>";
  16. echo "<tr>";
  17. echo "<td width='80' align='center'>Acumulada</td>";
  18. echo "<td width='80' align='center'>Pendiente</td>";
  19. echo "</tr>";
  20. echo "</tr>";
  21. echo "<tr>";
  22. for($x=1;$x<=5;$x++)
  23. {
  24.     $interes_mes_1 = $monto*(8/1200);
  25.     $amortizacion_mes_1 = $cuota_mes - $interes_mes_1;
  26.     $acumulada_mes_1 = $amortizacion_mes_1;
  27.     $pendiente_mes_1 = $monto - $amortizacion_mes_1;
  28.     echo "<td>".$x."</td>";
  29.     echo "<td>".number_format($amortizacion_mes_1,2)."</td>";
  30.     echo "<td>".number_format($interes_mes_1,2)."</td>";
  31.     echo "<td>".number_format($cuota_mes,2)."</td>";
  32.     echo "<td>".number_format($acumulada_mes_1,2)."</td>";
  33.     echo "<td>".number_format($pendiente_mes_1,2)."</td>";
  34.     echo "<tr>";
  35.     for ($y=1;$y<=2;$y++)
  36.     {
  37.         $interes_mes_2 = $pendiente_mes_1 * (8/1200);
  38.         $amortizacion_mes_2 = $cuota_mes - $interes_mes_2;
  39.         $acumulada_mes_2 = $amortizacion_mes_1 + $amortizacion_mes_2;
  40.         $pendiente_mes_2 = $pendiente_mes_1 - $amortizacion_mes_2;
  41.         echo "<td></td>";
  42.         echo "<td>".number_format($amortizacion_mes_2,2)."</td>";
  43.         echo "<td>".number_format($interes_mes_2,2)."</td>";
  44.         echo "<td>".number_format($cuota_mes,2)."</td>";
  45.         echo "<td>".number_format($acumulada_mes_2,2)."</td>";
  46.         echo "<td>".number_format($pendiente_mes_2,2)."</td>";
  47.         echo "</tr>";
  48.     }
  49.     echo "</tr>";
  50. }
  51. echo "</tr>";
  52. echo "</table>"
  53.  

pero solo saco las 2 primeras filas, y al querer sacar las demas "jalando" los valores del for con Y al for con X no me
jalan los datos, osea al poner [php:ipa0bzmy]
  1. echo $pendiente_mes_2;
[/php:ipa0bzmy] en el primer for no me sale nada por ende no puedo sacar los demas calculos.
esta bien que use los for? o debo usar otro bucle? o como puedo hacer para generar esto?
les agradeceria mucho la ayuda que puedan darme, gracias.
ahh me olvidaba, tendria que ser para 18 filas o meses como para 5 o para 30 etc, dependiendo del usuario. osea el
x<=$meses.
What Did One Snowman Say To The Other Snowman???

Do you smell carrots??

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: como generar una tabla generada en Excel en PHP?
« Respuesta #1 en: Viernes 13 de Febrero de 2009, 20:21 »
0
De dónde tomas esos datos, de una tabla, de ese archivo de Excel???
Si es para lo primero con un mysql_fetch_array y un ciclo te mola.
Si es para lo segundo, revisa este enlace http://www.cristalab.com/tips/abrir-y-l ... p-c38945l/
El pasado son solo recuerdos, el futuro son solo sueños

gokufast

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: como generar una tabla generada en Excel en PHP?
« Respuesta #2 en: Viernes 13 de Febrero de 2009, 21:25 »
0
bueno con algo de ayuda lo resolvi de la siguiente forma:

Código: PHP
  1. <?
  2. $cuota_mes = 661.66;
  3. $monto = 11188;
  4. $interes_mes_1 = $monto*(8/12/100);
  5. $amortizacion_mes_1 = $cuota_mes - $interes_mes_1;
  6. $acumulada_mes_1 = $amortizacion_mes_1;
  7. $pendiente_mes_1 = $monto - $amortizacion_mes_1;
  8. $meses = 18;
  9. ?>
  10. <table width="361" border="0" cellspacing="2" cellpadding="1">
  11.   <tr>
  12.     <td width="295"><div align="right" class="style2">MONTO</div></td>
  13.     <td width="56"><div align="right" class="style2"><? echo $monto; ?></div></td>
  14.   </tr>
  15.   <tr>
  16.     <td width="295"><div align="right" class="style2">INTERES MENSUAL </div></td>
  17.     <td width="56"><div align="right" class="style2"><? echo number_format($interes_mes_1,2); ?></div></td>
  18.   </tr>
  19.   <tr>
  20.     <td width="295"><div align="right" class="style2">TIEMPO DE PAGO EN MESES </div></td>
  21.     <td width="56"><div align="right" class="style2"><? echo $meses; ?></div></td>
  22.   </tr>
  23.   <tr>
  24.     <td width="295"><div align="right" class="style2">CUOTA MES EN USD </div></td>
  25.     <td width="56"><div align="right" class="style2"><? echo $cuota_mes; ?></div></td>
  26.   </tr>
  27. </table>
  28. <br />
  29. <table width="600" border="1" cellspacing="1" cellpadding="1">
  30.   <tr>
  31.     <td width="33"><div align="center"><span class="style1"></span></div></td>
  32.     <td width="110"><div align="center" class="style1"><strong>AMORTIZACION</strong></div></td>
  33.     <td width="110"><div align="center" class="style1"><strong>INTERES</strong></div></td>
  34.     <td width="110"><div align="center" class="style1"><strong>TOTAL</strong></div></td>
  35.     <td colspan="2"><div align="center" class="style1"><strong>AMORTIZACION</strong></div></td>
  36.   </tr>
  37.   <tr>
  38.     <td width="33"><div align="center" class="style1"><strong>nro</strong></div></td>
  39.     <td width="110"><div align="center" class="style1"><strong>MES</strong></div></td>
  40.     <td width="110"><div align="center" class="style1"><strong>MES</strong></div></td>
  41.     <td width="110"><div align="center" class="style1"><strong>MES</strong></div></td>
  42.     <td width="110"><div align="center" class="style1"><strong>ACUMULADA</strong></div></td>
  43.     <td width="110"><div align="center" class="style1"><strong>PENDIENTE</strong></div></td>
  44.   </tr>
  45.   <?
  46.   $amort=0;
  47.   $inter=0;
  48.   $cuota=0;
  49.   $acumu=0;
  50.   $pendi=$monto;
  51. for($x=0;$x<=$meses;$x++){
  52.   ?>
  53.   <tr>
  54.     <td width="33"> <span class="style2"><? echo $x;?></span></td>
  55.     <td width="110"><span class="style2"><? echo number_format($amort,2); ?></span></td>
  56.     <td width="110"><span class="style2"><? echo number_format($inter,2); $inter=$pendi*8/12/100;?></span></td>
  57.     <td width="110"><span class="style2"><? echo number_format($cuota,2); $cuota=$cuota_mes*1;?></span></td>
  58.     <td width="110"><span class="style2"><? echo number_format($acumu,2); ?></span></td>
  59.     <td width="110"><span class="style2"><? echo number_format($pendi,2); $amort=$cuota-$inter; $pendi=$pendi-$amort; $acumu=$acumu+$amort;?></span></td>
  60.   </tr>
  61.   <? } ?>
  62. </table>
  63. </body>
  64.  
What Did One Snowman Say To The Other Snowman???

Do you smell carrots??