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

Langage PHP Discussion :

code php pour ouvrir .xls en .pdf


Sujet :

Langage PHP

  1. #21
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    Avec PDF creator, je ne suis pas sur que tu ais besoin de convertir, PDF Creator imite une imprimante virtuel et te ressort le fichier. Donc après tu imprime ce que tu veux a mon avis, tu peux toujours essayer.

    Sinon il existe ce site :

    Express PDF
    MacBook Pro 15"
    "La pensée nous permet de rêver, le rêve de vivre".
    My WebSite

  2. #22
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Ou alors, existe-t-il un code VBA qui me permet de faire la même chose que lorsque je clique droit sur le fichier .xls et que je choisi "Créer des fichiers PDF avec PDF Créator"???
    Si tu as l'object sur ton ordi c'est simple
    voici un appel d'une meme object avec trois language
    en vba
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub CommandButton1_Click()
    Dim obj As Object
    Set obj = CreateObject("WScript.Shell")
    Call obj.Popup("Exemple alert 1", 0, "le titre ", 0)
    End Sub
    en php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php  
    $obj = new COM("WScript.Shell");
    $obj->Popup("Exemple alert 1",0,"le titre ",0);
    ?>
    en javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script>
    <!--
    var obj;
    obj = new ActiveXObject("WScript.Shell");
    obj.Popup("Exemple alert 1",0,"le titre ",0);
    </script>

  3. #23
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    SAlut Montor
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
    Dim obj As Object
    Set obj = CreateObject("WScript.Shell")
    Call obj.Popup("Exemple alert 1", 0, "le titre ", 0)
    End Sub
    ton code m'ouvre un popup avec "titre","Exemple alert" et le bouton "OK"
    excuses moi, mais je suis loin de mon pdf comment puis je savoir quel et ou se trouve l'object sur mon pc?
    je n'ai pas beaucoups évolué comme tu vois...

  4. #24
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Bonjour non le code que je viens de citer n'est pas pour créer un fichier pdf mais pourquoi cette obsession tu peux simplement protéger tes feuilles par un mot de passe (outil ->protection) contre la modification et impression sera toujours disponible

  5. #25
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protéger tes feuilles par un mot de passe
    Alors peut on le faire par du code VBA?

  6. #26
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    C'est ce que je lui avais dit dès le départ... Franchement t'embête pas à pisser du code pour rien, la protection des feuilles excel marche très bien et empêche toute modification, cela te fait gagner du temps (et le temps c'est de l'argent ).

    Si tu veux lire un fichier excel : Objet COM (adresse indiquée plus haut)
    Si tu veux ensuite un fichier pdf : phpToPdf ou Fpdf

    Mais franchement tu vas t'embêter pour rien vu qu'une protection existe déja sur Excel, maintenant si tu veux vraiment le coder, bas utilise les ressources que l'on ta indiqué et si tu as des erreurs montre les nous et on t'aidera. On ta donné toute les billes, maintenant à toi de voir, mais ce qui est sur c'est qu'on ne va pas te donner le code entier.

    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protéger tes feuilles par un mot de passe
    Alors peut on le faire par du code VBA?
    Pourquoi tu veux le faire en codant, comme il t'a été indiqué :

    directement sur excel, pas besoin de code
    MacBook Pro 15"
    "La pensée nous permet de rêver, le rêve de vivre".
    My WebSite

  7. #27
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pourquoi tu veux le faire en codant
    mon fichier excel passe entre plusieurs mains pour étre modifié et à chaque fois, chaque intervenant clique sur un bouton qui a pour effet d'enregistrer la modif et de pousser le fichier dans le ftp du serveur dans un endroit bien précis.
    lorsque c'est le tour du dernier intervenant, lui, est là pour mettre son nom et effectuer une validation finale ( avec un bouton qui lui ai attribué spécialement pour ça) qui devrait rendre le fichier immodifiable .
    C'est là que je voudrais qui lorsque ce dernier intervenant clique sur le bouton du fichier cela génére un mot de passe qui protègerai la feuille et finit sa procédure en poussant dans le ftp
    chest pas chi chui clair??????

    je viens de touver ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True, password:="Jennifer"
    qui fonctionne pas mal qui m'empèche d'écrire dans les cellules, mais cela ne m'empèche pas de cacher et bloquer les macros???

  8. #28
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    J'ai trouvé cela sur internet, peut être que ça pourra t'aider :

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    Sub SheetProtect(ByVal sBookAProteger As String, ByVal sFeuilleAProteger As String, ByVal vPassword As Object) 
    If Dir(sBookAProteger) <> "" Then
    Dim xlApp As Excel.Application 
    Dim xlBook As Workbook
    Dim i As Integer
     
    xlApp = CreateObject("Excel.Application") 
    xlBook = xlApp.Workbooks.Open(sBookAProteger)
    For i = 1 To xlBook.Sheets.Count 
    If xlBook.Sheets(i).Name = sFeuilleAProteger Then
     
    xlBook.Activate()
     
    xlBook.Sheets(sFeuilleAProteger).Select()
     
    xlBook.Worksheets(sFeuilleAProteger).Protect(vPassword)
     
    Exit For
     
    ElseIf i = xlBook.Sheets.Count Then
    MsgBox("La feuille à protéger n'existe pas!", vbCritical) 
    End If
    Next ixlBook.Close(True) 
    xlApp.Quit()
     
    xlBook = Nothing
     
    xlApp = Nothing
     
    Else
    MsgBox("Le fichier n'existe pas, vérifier le chemin !", vbCritical) 
    End If
     
    End Sub
    Sub SheetUnprotect(ByVal sBookADeproteger As String, ByVal sFeuilleADeproteger As String, ByVal vPassword As Object) 
    If Dir(sBookADeproteger) <> "" Then
    Dim xlApp As Excel.Application 
    Dim xlBook As Workbook
    Dim i As Integer
     
    xlApp = CreateObject("Excel.Application") 
    xlBook = xlApp.Workbooks.Open(sBookADeproteger)
    For i = 1 To xlBook.Sheets.Count 
    If xlBook.Sheets(i).Name = sFeuilleADeproteger Then
     
    xlBook.Activate()
     
    xlBook.Sheets(sFeuilleADeproteger).Select()
     
    xlBook.Worksheets(sFeuilleADeproteger).Unprotect(vPassword)
     
    Exit For
     
    ElseIf i = xlBook.Sheets.Count Then
    MsgBox("La feuille à déprotéger n'existe pas!", vbCritical) 
    End If
    Next ixlBook.Close(True) 
    xlApp.Quit()
     
    xlBook = Nothing
     
    xlApp = Nothing
     
    Else
    MsgBox("Le fichier n'existe pas, vérifier le chemin !", vbCritical) 
    End If
     
    End Sub
    'Exemple d'utilisation
    Private Sub Button1__Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    'Protéger
    Call SheetProtect("C:\Classeur1.xls", "Feuil2", 1206) 
    'Déprotéger
    Call SheetUnprotect("C:\Classeur1.xls", "Feuil2", 1206) 
    End Sub
    MacBook Pro 15"
    "La pensée nous permet de rêver, le rêve de vivre".
    My WebSite

  9. #29
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    merci pour les infos le fait de bloquer l'écriture est déja pas malje ferai évoluer petit à petit
    merci encore

  10. #30
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    si tu veux une alternative tu peux enregister ton fichier excel sous format csv et utiliser ce test
    tu mets les trois fichiers dans un meme dossier executer new_test_file.php pour creer un fichier de test (200000lignes 16MB) puis lancer le fichier demarrer.php
    voir ici pour plus infos
    http://www.developpez.net/forums/d63...b/#post3759762
    si tu veux une version pour ecrire c'est faite

  11. #31
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut csv.php
    Bien sur que je suis toujours interressé, j'attendais avec impatience,
    alors, j'ai créé un nouveau dossier csv2 pour tester
    j'ai mis dans ce dossier: classes.php,démarrer.php,mon fichier test.php + ajax.js
    je te mets en pièce jointe ce que j'obtient, je ne comprends pas d'ou vient le problème???
    Fichiers attachés Fichiers attachés

  12. #32
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    Pour ma part, je ne pense pas qu'il y ait de problème, il n'affiche seulement pas les case vide, dès qu'il n'y a pas de données entre deux ";" du csv, il ne met pas les <td>&nbsp;</td> mais <td></td> ce qui n'affiche rien en gros

    Enfin je pense que c'est ça, je n'est pas un problème de code, mais juste d'affichage, il faut donc changer le mode d'affichage dans le code...je m'embrouille un peu la.

    Je t'ai changé le code en mettant des "&nbsp;"
    Fichiers attachés Fichiers attachés
    MacBook Pro 15"
    "La pensée nous permet de rêver, le rêve de vivre".
    My WebSite

  13. #33
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    salut,
    dans quel fichier as tu rajoutté "&nbsp;"
    c'est dans le fichier démarrer???
    mais comment l'écris-tu?
    ensuite, je voit qu'il y a des couleurs définies dans les classes
    mais dans mon tableau à l'écran je n'en ai pas ???

  14. #34
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    J'ai écris directement les "&nbsp;" dans le html de la page "demarrer.htm", cela pour te montrer que ce n'était qu'un petit problème d'affichage, si les <td></td> n'ont aucune valeur à l'interieur elles ne s'affichent pas.

    Maintenant, il faudrait que tu mette une condition dans le code qui crée automatiquement ce tableau, je ne l'ai pas regardé donc je ne peux te dire ou.
    MacBook Pro 15"
    "La pensée nous permet de rêver, le rêve de vivre".
    My WebSite

  15. #35
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    c'est une simlple demonstration
    essaie j ne ai pas tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    foreach ($csv->buff as $keys=>$vals)
    	{
    		$out.="<tr>";
    		foreach ($vals as $v)
    		{
    			$out.='<td>';
    			$out.=($v!=="")?$v:'&nbsp;';
    			$out.='</td>';
    		}
    		$out.="</tr>";
    	}

  16. #36
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut essaie ce code
    Bonjour
    essaie ce code sur le forum

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XML] Code PHP pour traitement de fichier XML
    Par gaggy dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 12/09/2007, 18h44
  2. [FPDF] Pb pour ouvrir un fichier pdf sous IE ?
    Par wormseric dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/11/2006, 11h15
  3. [HTML] créer un lien pour ouvrir un document pdf
    Par rushparagliding dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/08/2006, 20h46
  4. code VB pour ouvrir une page d'un formulaire
    Par marion67 dans le forum Access
    Réponses: 10
    Dernier message: 31/12/2005, 22h11

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