IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Jasper Discussion :

Intégration PHP Jasperreports XLS


Sujet :

Jasper

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Intégration PHP Jasperreports XLS
    En suivant le tutoriel concernant l'intégration PHP JasperReports, j'avais réussi à exporter mes rapports en pdf. Malheureusement, mon but était de les sortir en Excel voici donc le code PHP modifié afin de les sortir en Excel en espérant que ça peut dépanner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    <?php
    	require_once ("Java.inc");
    	$reportsPath ="repertoirederapport";
    	$reportFileName = "nomdurapport";
     
     
    		try {
    			// chargement des librairies au classpath 
     
     
    			// création de la connexion JDBC 
    			$Conn = new Java("com.JdbcConnection");
    			// driver		
    			$Conn->setDriver("com.mysql.jdbc.Driver");
    			// url de connexion
    			$Conn->setConnectString("jdbc:mysql://localhost/base");
    			// utilisateur
    			$Conn->setUser("monutilisateur");
    			// mot de passe
    			$Conn->setPassword("monmotdepasse");
     
    			// Compilation du fichier JRXML en fichier Jasper
    			$sJcm = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
    			$report = $sJcm->compileReport($reportsPath .$reportFileName.".jrxml");
    			// Remplir le modèle avec les données		
    			$sJfm = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
    			$print = $sJfm->fillReport($report,new Java("java.util.HashMap"),$Conn->getConnection());
    			$sJExp = new Java("net.sf.jasperreports.engine.JRExporterParameter");
    			$sJExpXLS = new Java("net.sf.jasperreports.engine.export.JRXlsExporterParameter");
     
    			$sJex = new Java("net.sf.jasperreports.engine.export.JRXlsExporter");
    			$sJex->setParameter($sJExp->JASPER_PRINT, $print);
    			$sJex->setParameter($sJExp->OUTPUT_FILE_NAME, $reportsPath .$reportFileName .".xls");
    			$sJex->setParameter($sJExpXLS->IS_ONE_PAGE_PER_SHEET, FALSE);
    			$sJex->setParameter($sJExpXLS->IS_DETECT_CELL_TYPE, TRUE);
    			$sJex->exportReport();
    			if (file_exists($reportsPath .$reportFileName.".xls")){
    			     header('Content-disposition: attachment; filename="'.$reportFileName.'.xls"');
    			     header('Content-Type: application/vnd.ms-excel');
    			     header('Content-Transfer-Encoding: binary');
    			     header('Content-Length: '. @filesize($reportsPath . $reportFileName.".xls"));
    			     header('Pragma: no-cache');
    			     header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    			     header('Expires: 0');
    			     set_time_limit(0);
    			     @readfile($reportsPath .$reportFileName.".xls") or die("problem occurs.");
    			 }
     
    		} catch (JavaException $ex) {
    			$trace = new Java("java.io.ByteArrayOutputStream");
    			$ex->printStackTrace(new Java("java.io.PrintStream", $trace));
    			print "java stack trace: $trace\n";
    		}
     
     
     
    ?>
    Voilà

    Thomassss

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonsoir Je viens de suivre ton code aprés avoir installé apache tomcat, le java bridge... Mais j'ai une erreur concernant le chargement des librairies je crois car voici mon message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java stack trace: java.lang.Exception: CreateInstance failed: new com.JdbcConnection. Cause: java.lang.ClassNotFoundException: com.JdbcConnection VM: 1.6.0_21@http://java.sun.com/ at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at php.java.bridge.Util.classForName(Util.java:1518) at php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445) at php.java.bridge.Request.handleRequest(Request.java:458) at php.java.bridge.Request.handleOneRequest(Request.java:510) at php.java.servlet.PhpJavaServlet.handleLocalConnection(PhpJavaServlet.java:202) at php.java.servlet.PhpJavaServlet.handlePut(PhpJavaServlet.java:250) at php.java.servlet.PhpJavaServlet.doPut(PhpJavaServlet.java:261) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: com.JdbcConnection ... 32 more
    Merci de m'aider si jamais vous aviez rencontré cette erreur.

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 144
    Points : 298
    Points
    298
    Par défaut
    Hello,

    Ton erreur vient de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Conn = new Java("com.JdbcConnection");
    La classe n'existe pas et ton code essaie d'instancier l'objet, dont le classNotFoundException

Discussions similaires

  1. Intégration PHP / JasperReports
    Par nassu dans le forum Jasper
    Réponses: 3
    Dernier message: 13/07/2011, 19h11
  2. Intégration de JasperReport et Struts 2
    Par Cincinnatus dans le forum Jasper
    Réponses: 1
    Dernier message: 17/07/2008, 17h13
  3. Réponses: 1
    Dernier message: 07/11/2007, 00h09
  4. [FLASH 8] Intégration Php dans une anim Flash
    Par MrPink dans le forum Flash
    Réponses: 1
    Dernier message: 01/02/2006, 22h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo