Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 12h12   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 1
Points : 0
Points : 0
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 :
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
thomassss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h32.


 
 
 
 
Partenaires

Hébergement Web