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 :

Erreur avec new Spreadsheet()


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 16
    Points : 5
    Points
    5
    Par défaut Erreur avec new Spreadsheet()
    Bonjour à tous,
    j'ai installé XAMPP et Composer-Setup sans souci.
    J'ai testé echo"Bonjour"; et ça fonctionne.
    Mais pour le fichier suivant, j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    require 'C:\xampp\phpMyAdmin\vendor\autoload.php';
    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
     
    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->setCellValue('A1', 'Hello World !');
     
    $writer = new Xlsx($spreadsheet);
    $writer->save('hello world.xls');
    ?>
    L'erreur est sur la ligne $spreadsheet = new Spreadsheet();.
    Fatal error: Uncaught Error: Class 'PhpOffice\PhpSpreadsheet\Spreadsheet' not found in C:\xampp\htdocs\appli_voyage\ecrire_dans_excel.php
    Je ne comprends pas pourquoi !

  2. #2
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 793
    Points : 3 064
    Points
    3 064
    Par défaut
    Bonjour

    Deux questions me viennent à l'esprit

    * As-tu lancé un composer update en ligne de commandes ?
    * As-tu vérifié dans ton dossier composer si tu as les fichiers dont il est question dans tes UseNote: tu fais un require en indiquant un chemin complet C:\xampp\phpMyAdmin\vendor\autoload.php;; on ne fait jamais, oh grand jamais, cela.

    Si ton projet est C:\xampp\phpMyAdmin alors un require 'vendor/autoload.php'; est suffisant. Cela dit, uh oh, tu es certain que ton projet se trouve dans C:\xampp\phpMyAdmin ? C'est vraiment bizarre de mettre son projet là puisque phpMyAdmin est un outil à part entière et que tu ferais alors un mix entre cet outil et ton code.

    Bonne journée.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Bonjour et merci pour ta réponse,
    Mon projet se trouve ce répertoire C:\xampp\htdocs\appli_voyage\xx.php
    J'ai modifié le chemin en écrivant 'vendor/autoload.php' mais j'ai un warning :
    failed to open stream: No such file or directory ...
    Pour ce qui concerne l'update de composer j'ai l'erreur suivante :
    //------------------------
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    - phpmyadmin/phpmyadmin is present at version 1.0.0+no-version-set and cannot be modified by Composer
    - roave/security-advisories dev-latest conflicts with phpmyadmin/phpmyadmin <5.1.3.
    - Root composer.json requires roave/security-advisories dev-latest -> satisfiable by roave/security-advisories[dev-latest].

    Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
    j'ai essayé la ligne avec l'option with-all-dependecies mais ma syntaxe ne doit pas être bonne.

  4. #4
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 793
    Points : 3 064
    Points
    3 064
    Par défaut
    Il semble que tu débutez avec composer. Je te recommande de, d'abord, apprendre à l'utiliser.

    Si composer update ne fonctionne pas, le fichier autoload.php est absent ce qui explique ton erreur.

    Composer update t'a remonté des erreurs qu'il convient de résoudre d'abord.

    Je crois comprendre que tu aurais mis phpmyadmin comme dépendance ce qui n'est pas nécessaire, il s'agit d'un outil et pas d'une dépendance.

    Je te suggère d'éditer ton fichier composer.json et de virer la ligne qui concerne phpmyadmin. Puis de relancer un composer update. Vire aussi la ligne concernant roave.

    Si cela ne fonctionne pas, poste ici le contenu du fichier composer.json pour qu'on puisse comprendre.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Alors j'ai édité le composer.json et supprimé la partie php, je n'ai pas trouvé de roave, ensuite j'ai fait un composer update qui apparemment a bien fonctionné, avec tout un ensemble de maj.
    J'ai toujours cette erreur :
    Warning: require(vendor\autoload.php): Failed to open stream: No such file or directory in C:\xampp\htdocs\appli_voyage\ecrire_dans_excel.php on line 3.
    vendor\autoload.php existe bien ici C:\xampp\phpMyAdmin\vendor\autoload.php

    Voici le contenu du composer.json
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    {
        "license": "GPL-2.0-only",
        "authors": [
            {
                "name": "The phpMyAdmin Team",
                "email": "developers@phpmyadmin.net",
                "homepage": "https://www.phpmyadmin.net/team/"
            }
        ],
        "non-feature-branches": ["RELEASE_.*"],
        "autoload": {
            "psr-4": {
                "PhpMyAdmin\\": "libraries/classes"
            },
            "files": ["vendor/phpmyadmin/motranslator/src/functions.php"]
        },
        "autoload-dev": {
            "psr-4": {
                "PhpMyAdmin\\Tests\\": "test/classes",
                "PhpMyAdmin\\Tests\\Selenium\\": "test/selenium/"
            }
        },
        "repositories": [
            {
                "type": "composer",
                "url": "https://www.phpmyadmin.net"
            }
        ],
        "require": {
            "php": "^7.2.5 || ^8.0",
            "ext-hash": "*",
            "ext-iconv": "*",
            "ext-json": "*",
            "ext-mysqli": "*",
            "ext-openssl": "*",
            "ext-pcre": "*",
            "ext-xml": "*",
            "composer/ca-bundle": "^1.2",
            "google/recaptcha": "^1.1",
            "nikic/fast-route": "^1.3",
            "paragonie/sodium_compat": "^1.17",
            "phpmyadmin/motranslator": "^5.0",
            "phpmyadmin/shapefile": "^3.0.1",
            "phpmyadmin/sql-parser": "^5.5",
            "phpmyadmin/twig-i18n-extension": "^4.0",
            "psr/http-factory": "^1.0",
            "psr/http-message": "^1.0",
            "slim/psr7": "^1.4",
            "symfony/config": "^5.2.3",
            "symfony/dependency-injection": "^5.2.3",
            "symfony/expression-language": "^5.2.3",
            "symfony/polyfill-ctype": "^1.17.0",
            "symfony/polyfill-mbstring": "^1.17.0",
            "symfony/polyfill-php80": "^1.16",
            "twig/twig": "^3.3.5",
            "webmozart/assert": "^1.10",
            "williamdes/mariadb-mysql-kbs": "^1.2"
        },
        "conflict": {
            "bacon/bacon-qr-code": "<2.0",
            "pragmarx/google2fa-qrcode": "<2.1",
            "tecnickcom/tcpdf": "<6.4.4"
        },
        "suggest": {
            "ext-curl": "Updates checking",
            "ext-opcache": "Better performance",
            "ext-zlib": "For gz import and export",
            "ext-bz2": "For bzip2 import and export",
            "ext-zip": "For zip import and export",
            "ext-gd2": "For image transformations",
            "ext-mbstring": "For best performance",
            "ext-sodium": "Better encryption performance",
            "tecnickcom/tcpdf": "For PDF support",
            "pragmarx/google2fa-qrcode": "^2.1 - For 2FA authentication",
            "bacon/bacon-qr-code": "^2.0 - For 2FA authentication",
            "code-lts/u2f-php-server": "For FIDO U2F authentication"
        },
        "require-dev": {
            "bacon/bacon-qr-code": "^2.0",
            "code-lts/u2f-php-server": "^1.2",
            "php-webdriver/webdriver": "^1.11",
            "phpmyadmin/coding-standard": "^3.0.0",
            "phpstan/extension-installer": "^1.1",
            "phpstan/phpstan": "^1.4.8",
            "phpstan/phpstan-phpunit": "^1.0",
            "phpstan/phpstan-webmozart-assert": "^1.0",
            "phpunit/phpunit": "^8.5 || ^9.5",
            "pragmarx/google2fa-qrcode": "^2.1",
            "psalm/plugin-phpunit": "^0.16.1",
            "roave/security-advisories": "dev-latest",
            "symfony/console": "^5.2.3",
            "tecnickcom/tcpdf": "^6.4.4",
            "vimeo/psalm": "^4.22"
        },
        "extra": {
            "branch-alias": {
                "dev-master": "5.2.x-dev"
            }
        },
        "scripts": {
            "phpcbf": "@php phpcbf",
            "phpcs": "@php phpcs",
            "phpstan": "@php phpstan analyse",
            "psalm": "@php psalm --no-diff",
            "phpunit": "@php phpunit --color=always",
            "test": [
                "@phpcs",
                "@phpstan",
                "@psalm",
                "@phpunit"
            ],
            "update:baselines": [
                "@php phpstan analyse --generate-baseline",
                "@php psalm --set-baseline=psalm-baseline.xml"
            ],
            "twig-lint": "@php scripts/console lint:twig --ansi --show-deprecations"
        },
        "config":{
            "sort-packages": true,
            "discard-changes": true,
            "allow-plugins": {
                "dealerdirect/phpcodesniffer-composer-installer": true,
                "phpstan/extension-installer": true,
                "composer/package-versions-deprecated": true
            }
        }
    }

  6. #6
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 793
    Points : 3 064
    Points
    3 064
    Par défaut
    Tu écris que ton code est dans C:\xampp\htdocs\appli_voyage et tu nous donne le composer.json du dossier phpmyadmin, tu confonds ton projet et phpmyadmin. Tu fais un gros mix...

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    C'est la première fois que j'utilise ces produits, j'ai lu beaucoup de posts mais ce n'est pas très clair.

    Je viens de mettre mon projet dans phpMyAdmin.
    Cette fois j'ai cette erreur :
    Fatal error: Uncaught Error: Class "PhpOffice\PhpSpreadsheet\Spreadsheet" not found in C:\xampp\phpMyAdmin\ecrire_dans_excel.php:8 Stack trace: #0 {main} thrown in C:\xampp\phpMyAdmin\ecrire_dans_excel.php on line 8
    La ligne 8 c'est $spreadsheet = new Spreadsheet();

  8. #8
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 793
    Points : 3 064
    Points
    3 064
    Par défaut
    Désolé mais tu viens de faire du grand n'importe quoi. Laisse ton projet en dehors et lis des tutos sur composer.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Oui tu as raison, je ne connais pas du tout ces produits, je vais commencer par étudier les tutos plutôt que de faire n'importe quoi au hasard.
    Merci et bonne journée.

Discussions similaires

  1. erreur avec new
    Par rubisvert dans le forum Débuter
    Réponses: 22
    Dernier message: 25/08/2017, 17h59
  2. [Lazarus] Avertissement ou erreur avec New pointeur
    Par ThWilliam dans le forum Lazarus
    Réponses: 6
    Dernier message: 25/05/2017, 12h38
  3. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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