Die moet je dan via composer inladen. Dan krijg je een map /vendor met de autoloader.
composer require phpoffice/phpspreadsheet
Composer is super makkelijk. Je kan daarmee heel eenvoudig je packages beheren, toevoegen en updaten.
Binnenkort komt er een artikeltje over Composer op PHPhulp. Maar je kan al vast aan de slag. ;-)
[size=xsmall]Toevoeging op 14/12/2023 17:06:55:[/size]
Zonder Composer kan ook, maar dan moet je weten wat je allemaal moet includeren. En uit ervaring weet ik dat veel auteurs van scripts dat niet uitleggen. Maar de meeste ervaren webdevelopers gebruiken Composer om alles in een handomdraai te installeren.
phpMailer, Monolog, classes voor API's op social media...
Het kan allemaal.
Ik heb net het artikel over Composer afgewerkt op PHPhulp, en die komt zeer binnenkort online.
Eerst nog even alles aandachtig doorlezen. :-)
[size=xsmall]Toevoeging op 21/12/2023 11:59:31:[/size]
Sorry zat bij scripts en niet bij tutorials :)
Echter plots kreeg ik de vraag
Could not find package composer.json.
Pick one of these or leave empty to abort:
[0] jbzoo/composer-diff
[1] jbzoo/composer-graph
[2] imanghafoori/composer-json
[3] clue/graph-composer
[4] jms/composer-deps-analyzer
Kan je vertellen wat je precies doet? Het lijkt gezien je resultaat erop dat je composer met composer wilt downloaden, en dat je nu wat voor jou onnodige packages staat te installeren :-D
Als ik dit uitvoer, dan krijg ik het package gewoon:
Hoe kan ik weten dat na "require" de tekst "phpoffice/phpspreadsheet" moet komen? Ik had met dit commando
composer require composer.json
toch beweging en hoopte dat het goed was :)
Echter nog steeds niet ok :( Als eerste starte ik in de verkeerde map. Ook dat is me niet duidelijk waar het commando echt moet starten (volgens de tut de map van je project) dus starten ik in D:\Documenten\WebSites\one\janr.be\httpd.www\php\PhpSpreadsheet-master en kreeg de melding
Root package 'phpoffice/phpspreadsheet' cannot require itself in its composer.json
Zoals in het begin al vermeld: Ik ken NIETS van composer!
Een map hoger enkel een melding "wat ben ik aan het doen"
Nu heb ik de melding
Uncaught Error: Object of class Composer\Autoload\ClassLoader could not be converted to string
Jan
Wat zou het leven eenvoudig zijn als de ontwerper dergelijke zaken gewoon 1 keer zelf doe en dan oplaad als "onmiddellijk te gebruiken.zip" :)
Ik heb nergens 'composer require composer.json' gezegd. Als voorbeeld noemde ik het simpele Monolog.
Misschien is het handiger om voortaan eerst een tutorial te lezen, en niet impulsief halverwege aan de slag te gaan?
Wel heb ik inmiddels in de tutorial aangegeven dat naar de eerste keer dat je een require uitvoert, dat er dan een composer.json wordt aangemaakt.
Maar ik zal kijken voor verdere verbeteringen.
Maar over je probleem. Wat heb je nu precies gedaan toen je opnieuw vanaf nul begon? Heb je het juiste pakket geïnstalleerd? Wat staat er in composer.json?
[size=xsmall]Toevoeging op 22/12/2023 10:06:30:[/size]
Jan R op 22/12/2023 07:47:44
Wat zou het leven eenvoudig zijn als de ontwerper dergelijke zaken gewoon 1 keer zelf doe en dan oplaad als "onmiddellijk te gebruiken.zip" :)
Dan haal je wel de kracht van Composer weg. Die installeert niet alleen maar controleert ook of je pakket aan de vereisten voordoet. Heb je een oude PHP, of mis je een bepaalde vereiste PHP extensie? Dan geeft Composer dat netjes aan en stopt het installeren.
Ik heb nergens 'composer require composer.json' gezegd. Als voorbeeld noemde ik het simpele Monolog.
Weet ik. Ik heb dan ook alles gelezen voor ik er aan begon. Ik heb enkel de vraag gesteld "HOE kan ik weten wat ik daar moet schrijven/tijpen"
- Ariën - op 22/12/2023 09:51:07
Maar ik zal kijken voor verdere verbeteringen.
Graag want veel is mij nog niet duidelijk.
Maar over je probleem. Wat heb je nu precies gedaan toen je opnieuw vanaf nul begon? Heb je het juiste pakket geïnstalleerd? Wat staat er in composer.json?
[code="- Ariën - op 22/12/2023 09:51:07"]
{
"require": {
"phpoffice/phpspreadsheet": "^1.29"
}
}
[/code]
En hier zie ik dan dat dit de tekst is welke ik had moeten gebruiken :)
composer installatie Composer-Setup.exe 1762kB van de in de tut vermelde website onder Windows Installer
PhpSpreadsheet-master van https://github.com/PHPOffice/PhpSpreadsheet
- Ariën - op 22/12/2023 09:51:07
[quote="Jan R op 22/12/2023 07:47:44"]
Wat zou het leven eenvoudig zijn als de ontwerper dergelijke zaken gewoon 1 keer zelf doe en dan oplaad als "onmiddellijk te gebruiken.zip" :)
Dan haal je wel de kracht van Composer weg. Die installeert niet alleen maar controleert ook of je pakket aan de vereisten voordoet. Heb je een oude PHP, of mis je een bepaalde vereiste PHP extensie? Dan geeft Composer dat netjes aan en stopt het installeren.
[/quote]
Akkoord maar voor idioten zoals ik helpt het wel :)
Mijn testbestandje
<?php
require require_once $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$activeWorksheet = $spreadsheet->getActiveSheet();
$activeWorksheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
?>