Avatar billede BTEngineer Novice
16. februar 2017 - 10:17 Der er 5 kommentarer

Importering af CSV/Excel-fil

Hej Eksperter,

Jeg skal til at lave en importering af forskellige excelfiler/CSV filer.

I den forbindelse vil jeg høre, om der er nogle garvede programmører der kan anbefale en bestemt metode til håndtering af datastrukturerne i filerne? Jeg tænker at skulle have lavet et "lag" som håndtere de data i filerne.

Håber det giver mening

Tak på forhånd
Avatar billede Rune1983 Ekspert
16. februar 2017 - 11:14 #1
Jeg har selv arbejdet med PHPExcel. Hvor man vælger excel fil som uploades til server og efterfølgende åbnes og henter data ud.
Det fungere godt. Men man skal have tungen lige i munden når man hiver data ud af excel fil.
Til mit formål har jeg lavet en skabelon excel fil som SKAL anvendes ved import hver gang.
Avatar billede BTEngineer Novice
16. februar 2017 - 12:08 #2
Tak for dit svar - Det lyder spændende.
Har du noget inspiration til hvordan det kan gøres? Jeg er på relativt bar bund - har ingen erfaring med PHPExcel.
Avatar billede arne_v Ekspert
17. februar 2017 - 01:49 #3
Som med saa meget andet boer man jo starte med den paene struktur.

Jeg ville nok starte med:
* low level data model
  - en klasse per CSV
* high level data model
  - real domain model
* loader
  - load fra CSV filer til low level data model
  - aggregator fra low level data model til high level domain model
Avatar billede Rune1983 Ekspert
17. februar 2017 - 07:06 #4
Hvis du henter PHPExcel. Der vil være en mappe med eksempler på hvordan du gør forskellige ting. Det var sådan jeg fandt ud af at løse min opgave dengang.
Avatar billede BTEngineer Novice
17. februar 2017 - 09:46 #5
Mange tak for jeres svar! :-)

Jeg har fundet frem til, at https://github.com/PHPOffice/PhpSpreadsheet er den nye erstatning for PHPExcel, som ikke længere bliver vedligeholdt.

Jeg har forsøgt at smide det op på mit domæne hos MeeBox, men jeg får flg. fejl:
Fatal error: Uncaught exception 'Exception' with message 'Composer autoloader could not be found. Install dependencies with `composer install` and try again.' in /home/knwebdk/public_html/exl/src/Bootstrap.php:42 Stack trace: #0 /home/knwebdk/public_html/exl/samples/Header.php(7): require_once() #1 /home/knwebdk/public_html/exl/samples/index.php(3): require_once('/home/knwebdk/p...') #2 {main} thrown in /home/knwebdk/public_html/exl/src/Bootstrap.php on line 42

Der står at man skal installere dependencies med `composer install`, så umiddelbart tænker jeg det er nogle stier, der ikke hænger sammen. Men jeg kan ikke køre en terminal hos Meebox, så jeg er lidt i tvivl om hvad jeg skal gøre, for at få det til at virke.

Nogle bud? :)
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

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