Avatar billede christian-BN Praktikant
16. oktober 2013 - 14:02 Der er 6 kommentarer

Data fra excel til php-array

Hej,

Jeg forsøger at hente data fra excel over til php-array. Der er tale om 100+ rækker og  data fra 4 forskellige kolonner.

pt. kan jeg lave et loop og hente data een kolonne, men lige så snart jeg vil hente alle kolonner går det galt.

Koden er

<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("DK_Jylland.xls");
?>

<?php
for($j = 1; $j < $data->rowcount(); ++$j){
array("navn" => $data->val($j, 'B'), "Adresse" => $data-val($j, 'C'), "By" => $data-val($j, 'D'), "postnummer" => $data-val($j, 'E'));
}
var_dump();
//echo $data->dump(true,true);
?>

Det  jeg ønsker at gennemløbe excel-arket og tilføje hver enkelte række til et array.

Senere skal jeg have mulighed for at gruppere adresserne alfabetisk :)

Håber det gav mening, og nogle kan se fejlen?
Avatar billede erikjacobsen Ekspert
16. oktober 2013 - 14:19 #1
Og det er med vilje du skriver

  $data-val($j, 'D')

i stedet for

  $data->val($j, 'D')

?
Avatar billede christian-BN Praktikant
16. oktober 2013 - 15:30 #2
kopi/paste fejl..

Er kommet videre med følgende kode som virker. Dog sidder jeg fast med at der oprettes en masse arrays som ikke har noget navn, så ved ikke hvordan jeg tilgår dem uden for loopet..

<?php
$liste = array();
for($j = 1; $j < $data->rowcount(); ++$j){

$firma = $data->val($j, 'B');
$id = $firma;
$adresse = $data->val($j, 'C');
$by = $data->val($j, 'E');
$postnummer = $data->val($j, 'F');

$id = array($firma, $adresse, $by, $postnummer);
$liste = array_push($liste, $id);
print_r($id);
echo "<br>";
}
//echo $data->dump(true,true);
?>
Avatar billede erikjacobsen Ekspert
16. oktober 2013 - 15:43 #3
"en masse arrays som ikke har noget navn" - den forstår jeg ikke. Kan du give et eksempel?
Avatar billede christian-BN Praktikant
17. oktober 2013 - 09:17 #4
Det jeg mener er at hvis jeg laver et print_r($id) inden i løkken, så får jeg et array ud som f.eks ser sådan her ud:

Array ( [0] => Esters Garage [1] => Tibirkevej 17 [2] => Tisvildeleje [3] => 3220 )

Men jeg vil gerne kunne tilgå mine arrays uden for løkken, og jeg har prøvet forskellige dumps for at finde noget..

var_dump($id);
- >  array(4) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" }
print_r($id);
- > Array ( [0] => [1] => [2] => [3] => )
var_dump($liste);
- > NULL
print_r($liste);
- > Intet output kommer frem.
Avatar billede christian-BN Praktikant
17. oktober 2013 - 09:18 #5
Overstående er baseret ud fra koden i #2
Avatar billede christian-BN Praktikant
17. oktober 2013 - 09:22 #6
Gav mig selv en dummeflad, havde selvfølgelig glemt [] når jeg defineret et array i løkken.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester