Vinnaren i pepparkakshustävlingen!
2018-02-21, 18:51
  #1
Medlem
Hej,

Fick tips av Tobes i en tråd om att använda PhpSpreadseat Länk Mitt huvudbry här är att man behöver i sin tur använda Composer för att få kunna nyttja phpspreadsheet och här tar det stopp.

Enligt deras mall ska man skriva
Kod:
<?php

require '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.xlsx');


Men, trots att - vad jag tror - följer instruktionerna på Composer så får jag det inte till att fungera.
Jag har:
- Laddat ner Composer till Windows
- Lagt till länken till vendor/autoload i min kod
- Skapat composer.json.php fil som jag kopierade från Länk

Mitt felmeddelande blir:


Mitt test4php är programmerad enligt nedan:

Kod:
<html>
 <head>
  <title>PHP Test</title>
 </head>
 <body>
 <?php 
 


require 'C:\xampp\phpMyAdmin\vendor\composer\autoload_files.php';
require 
'C:\xampp\htdocs\composer.json.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.xlsx');

 
 
?>
 
 
 </body>
</html

Rad 19 är:
Kod:
$spreadsheet = new Spreadsheet(); 

Tilläggas är att mina PHP-kunskaper består i en youtubelänl; "lär dig pgp på 15 minuter.. Men får jag gissa själv så tror jag att json-filen är felaktig med tanke på att texten verkar komma från den? Felet i sig består i att den inte gör så att katalogen /programmet laddas ned.

Någon som har erfarenhet av Composer?
Citera
2018-02-21, 19:44
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av muceliduc
Hej,

Fick tips av Tobes i en tråd om att använda PhpSpreadseat Länk Mitt huvudbry här är att man behöver i sin tur använda Composer för att få kunna nyttja phpspreadsheet och här tar det stopp.

Enligt deras mall ska man skriva
Kod:
<?php

require '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.xlsx');


Men, trots att - vad jag tror - följer instruktionerna på Composer så får jag det inte till att fungera.
Jag har:
- Laddat ner Composer till Windows
- Lagt till länken till vendor/autoload i min kod
- Skapat composer.json.php fil som jag kopierade från Länk

Mitt felmeddelande blir:


Mitt test4php är programmerad enligt nedan:

Kod:
<html>
 <head>
  <title>PHP Test</title>
 </head>
 <body>
 <?php 
 


require 'C:\xampp\phpMyAdmin\vendor\composer\autoload_files.php';
require 
'C:\xampp\htdocs\composer.json.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.xlsx');

 
 
?>
 
 
 </body>
</html

Rad 19 är:
Kod:
$spreadsheet = new Spreadsheet(); 

Tilläggas är att mina PHP-kunskaper består i en youtubelänl; "lär dig pgp på 15 minuter.. Men får jag gissa själv så tror jag att json-filen är felaktig med tanke på att texten verkar komma från den? Felet i sig består i att den inte gör så att katalogen /programmet laddas ned.

Någon som har erfarenhet av Composer?
Har du kollat i vendorkatalogen så paketet ligger däri till att börja med?
Citera
2018-02-21, 20:06
  #3
Medlem
Citat:
Ursprungligen postat av Proton
Har du kollat i vendorkatalogen så paketet ligger däri till att börja med?

Den ligger inte där.

Men, är jag fel ute om jag tolkar det som att koden ska ladda ner paketet så fort jag går in på hemsidan?

Dvs, jag går in på min test4, den kör ett script som ska hämta paketet och därefter ska den fortsätta att göra det jag ber scripet om.

Det hade ju varit sjukt mycket enklare för en nybörjare som mig att bara ladda ner en zip med alla funktioner och lägga det i en mapp i /vendor... men jag antar att någon sjukt mycket smartare individ gjort på detta sätt för att det är bättre för alla i förlängningen?
Citera
2018-02-21, 20:51
  #4
Moderator
Protons avatar
Citat:
Ursprungligen postat av muceliduc
Den ligger inte där.

Men, är jag fel ute om jag tolkar det som att koden ska ladda ner paketet så fort jag går in på hemsidan?

Dvs, jag går in på min test4, den kör ett script som ska hämta paketet och därefter ska den fortsätta att göra det jag ber scripet om.

Det hade ju varit sjukt mycket enklare för en nybörjare som mig att bara ladda ner en zip med alla funktioner och lägga det i en mapp i /vendor... men jag antar att någon sjukt mycket smartare individ gjort på detta sätt för att det är bättre för alla i förlängningen?
Composer funkar inte så, du deklarerar upp de dependencies du har i json-filen, sen måste du installera dessa manuellt, det sker på inga sätt automagiskt.

Kolla i composermanualen ska du se:

https://getcomposer.org/doc/01-basic-usage.md

__________________
Senast redigerad av Proton 2018-02-21 kl. 20:53.
Citera
2018-02-21, 20:59
  #5
Medlem
Citat:
Ursprungligen postat av Proton
Composer funkar inte så, du deklarerar upp de dependencies du har i json-filen, sen måste du installera dessa manuellt, det sker på inga sätt automagiskt.

Kolla i composermanualen ska du se:

https://getcomposer.org/doc/01-basic-usage.md


Aha, tack. Då var jag helt ute och cyklade. Tack!
(läste såklart manualen igår men tappade bort mig på vägen)
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback