utilisateur liferay
je voulais télécharger un fichier excel que j'ai généré (la génération été sur une de mes partitions).
utilisateur liferay
je voulais télécharger un fichier excel que j'ai généré (la génération été sur une de mes partitions).
Salut,
Liferay possède déjà des lib d'export Excel (CSV plutôt) avec une barre de progression.
Un exemple de code :
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
59
60
61
62
63 public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try { String csv = getRecordsCSV(request); String fileName = "records.csv"; byte[] bytes = csv.getBytes(); ServletResponseUtil.sendFile(response, fileName, bytes, ContentTypes.TEXT_CSV_UTF8); return null; } catch (Exception e) { PortalUtil.sendError(e, request, response); return null; } } protected String getRecordsCSV(HttpServletRequest request) throws Exception { ProgressTracker progressTracker = new ProgressTracker(request, String.valueOf(new Date().getTime())); progressTracker.start(); List<Record> objListRecord = RecordMetier.search( ParamUtil.getLong(request, "adminId"), ParamUtil.getLong(request, "userId") == 0 ? "" : String.valueOf(ParamUtil.getLong(request, "userId")), ParamUtil.getLong(request, "intIdTag") == 0 ? "" : String.valueOf(ParamUtil.getLong(request, "intIdTag")), ParamUtil.getLong(request, "organizationId") == 0 ? "" : String.valueOf(ParamUtil.getLong(request, "organizationId")), null, null, null); int percentage = 10; int total = objListRecord.size(); progressTracker.updateProgress(percentage); StringBuilder sb = new StringBuilder(objListRecord.size() * 50); Iterator<Record> objIterator = objListRecord.iterator(); for (int i = 0; objIterator.hasNext(); i++) { Record objRecord = objIterator.next(); sb.append(objRecord.getIntIdRecord()); sb.append(StringPool.COMMA); sb.append(objRecord.getDatRecord()); sb.append(StringPool.COMMA); sb.append(objRecord.getStrRefTag()); sb.append(StringPool.COMMA); sb.append(objRecord.getStrNameOrganization()); sb.append(StringPool.COMMA); sb.append(objRecord.getStrNameUser()); sb.append(StringPool.COMMA); sb.append(objRecord.getIntNbPoint()); sb.append(StringPool.NEW_LINE); percentage = Math.min(10 + (i * 90) / total, 99); progressTracker.updateProgress(percentage); } progressTracker.finish(); return sb.toString(); }
@Momov: je ne sais pas si ta question a reçu une réponse, mais plutôt que de modifier ton post initial une fois que tu en as reçu une, peux-tu laisser ta question et faire une réponse ????
Personne n'a de trace de ta question et ce n'est pas vraiment le but d'un forum.... Si tu as reçu une réponse qui te convient, il y a un bouton "résolu" qui permet d'indiquer qu'une réponse efficace à résolu ton problème. Merci de penser à l'utiliser
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager