Toon posts:

[PHP] Excel Importeren in Database

Pagina: 1
Acties:
  • 300 views

  • McPoowl
  • Registratie: September 2006
  • Laatst online: 22:21
Goedemiddag,

Ik doe samen met twee medestudenten een opdracht bij een echte opdrachtgever voor extra studiepunten. We moeten hiervoor een systeem ontwikkelen waar makkelijk bepaalde data is op te vragen.

We lopen echter tegen een probleem op: Er zijn bepaalde bronnen die we moeten gebruiken als input. Deze komen in de vorm van .xls of .csv bestanden. Het probleem hierbij is echter dat we niet weten hoe we zo'n bestand moeten scheiden om hem goed te kunnen importeren in een (mysql) database.
De xls sheets hebben namelijk weinig tot geen opmaak, en er zitten random witregels tussen. Dit is iets wat wij niet kunnen veranderen, aangezien dit via een externe partij gaat ( het gaat hier om staalproductie over de hele wereld ).

De probleemstelling is dus als volgt:
- Hoe importeren we (automatisch! ) de nieuwe statistieken van de staalproductie a.d.h.v. een .xls file ( het gaat hier om 2 bronnen, waarvan één hele crappy opmaak heeft. )

Ik hoop dat het verhaal een beetje duidelijk is. We zitten zelf net in de opstart-fase, dus voor ons is het ook een beetje zoeken naar wat een goede oplossing kan zijn.

  • RobIII
  • Registratie: December 2001
  • Laatst online: 01:34

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

McPoowl schreef op donderdag 02 juni 2011 @ 12:31:
De xls sheets hebben namelijk weinig tot geen opmaak, en er zitten random witregels tussen. Dit is iets wat wij niet kunnen veranderen, aangezien dit via een externe partij gaat ( het gaat hier om staalproductie over de hele wereld ).

De probleemstelling is dus als volgt:
- Hoe importeren we (automatisch! ) de nieuwe statistieken van de staalproductie a.d.h.v. een .xls file ( het gaat hier om 2 bronnen, waarvan één hele crappy opmaak heeft. )
Hoe moeilijk is een
code:
1
2
if not cell/row/line is empty then 
   importcell/row/line

in vredesnaam :?
En als je de keuze hebt tussen CSV en XLS dan zou ik persoonlijk gaan voor CSV. PHP heeft daar voldoende voorzieningen voor en je bent minder vatbaar voor allerlei quirks en meuk die in XLS bestanden aanwezig kunnen zijn.

Verder: wat hebben jullie zelf al überhaupt geprobeerd/bedacht/onderzocht/gezocht/gevonden? Of mogen wij jullie huiswerk gaan maken? Zie daarvoor ook onze Quickstart

[Voor 111% gewijzigd door RobIII op 02-06-2011 12:43]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 30-05 09:51

Mike2k

Zone grote vuurbal jonge! BAM!

En uiteraard dit even lezen: http://nl2.php.net/manual/en/book.xsl.php

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


  • Martine
  • Registratie: Mei 2002
  • Laatst online: 28-05 21:19
PHP Excel Reader - Parse and retrieve information from XLS files

http://code.google.com/p/php-excel-reader/

  • RobIII
  • Registratie: December 2001
  • Laatst online: 01:34

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

XSL != XLS :X Heb je 't zélf wel gelezen voor je 't postte? ;)

[Voor 11% gewijzigd door RobIII op 02-06-2011 12:38]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 30-05 09:51

Mike2k

Zone grote vuurbal jonge! BAM!

Whoops....my bad...sorry...the will disregard that last statement.

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


  • McPoowl
  • Registratie: September 2006
  • Laatst online: 22:21
RobIII schreef op donderdag 02 juni 2011 @ 12:35:
[...]


Hoe moeilijk is een
code:
1
2
if not cell/row/line is empty then 
   importcell/row/line

in vredesnaam :?
En als je de keuze hebt tussen CSV en XLS dan zou ik persoonlijk gaan voor CSV. PHP heeft daar voldoende voorzieningen voor en je bent minder vatbaar voor allerlei quirks en meuk die in XLS bestanden aanwezig kunnen zijn.

Verder: wat hebben jullie zelf al überhaupt geprobeerd/bedacht/onderzocht/gezocht/gevonden? Of mogen wij jullie huiswerk gaan maken? Zie daarvoor ook onze Quickstart
Allereerst bedankt voor de reacties. Wellicht ben ik vergeten te vertellen dat we weinig kennis van PHP hebben, en de opdrachtgever dus helemaal niet ;). We hebben zelf natuurlijk ook al het een en ander onderzocht, en kwamen hier bij een "xlsmysql" script uit. Nadeel, we hebben geen keuze tussen XLS en CSV. De ene bied alleen XLS aan, waar de ander een keuze geeft. Dat is dus deels het probleem, er is geen consistentie tussen de verschillende bronnen.

De andere kant van het probleem is , dat we niet zo goed weten, WAAROP we moeten zoeken. Vandaar het topic hier. En trust me, ik heb er ook een hekel aan als mensen dingen gaan vragen zonder zelf iets geprobeerd te hebben, dus dat is absoluut niet het geval. Daarbij is het geen huiswerk, maar een betaalde opdracht ;)
Martine schreef op donderdag 02 juni 2011 @ 12:37:
PHP Excel Reader - Parse and retrieve information from XLS files

http://code.google.com/p/php-excel-reader/
Thanks, die hadden we zelf nog niet gevonden!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 01:34

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

McPoowl schreef op donderdag 02 juni 2011 @ 12:49:
Wellicht ben ik vergeten te vertellen dat we weinig kennis van PHP hebben
En dan toch een betaalde opdracht aannemen :X
McPoowl schreef op donderdag 02 juni 2011 @ 12:49:
en de opdrachtgever dus helemaal niet ;).
Ah, gelukkig d:)b Want in 't land der blinden is Eenoog koning :D
McPoowl schreef op donderdag 02 juni 2011 @ 12:49:
We hebben zelf natuurlijk ook al het een en ander onderzocht, en kwamen hier bij een "xlsmysql" script uit.
En dat voldeed niet... omdat :? Je kon het waar nodig niet aanpassen... omdat :? Je kon er niets uit leren... omdat :? Je kon er geen relevante delen uit "lenen" of "afleiden"... omdat :?
McPoowl schreef op donderdag 02 juni 2011 @ 12:49:
Nadeel, we hebben geen keuze tussen XLS en CSV. De ene bied alleen XLS aan, waar de ander een keuze geeft. Dat is dus deels het probleem, er is geen consistentie tussen de verschillende bronnen.
Dan zul je dus een XLS én CSV importer moeten bouwen. En als ze allebei (of, voor in de toekomst, allemaal) een ander formaat aanbieden en dat niet aan je specificaties/wensen willen aanpassen: welcome to the real world ;) Dat wordt zweten om voor elk formaat weer een eigen importer te bouwen. Shit happens. Suck it up and get on with it.
McPoowl schreef op donderdag 02 juni 2011 @ 12:49:
De andere kant van het probleem is , dat we niet zo goed weten, WAAROP we moeten zoeken.
En wij weten (noch zien in je TS) waarop je überhaupt hebt gezocht ;) Vandaar dat ik er naar vraag. Maar daar geef je dan weer geen antwoord op...
McPoowl schreef op donderdag 02 juni 2011 @ 12:49:
Vandaar het topic hier. En trust me, ik heb er ook een hekel aan als mensen dingen gaan vragen zonder zelf iets geprobeerd te hebben, dus dat is absoluut niet het geval.
Dat zal best maar ik zie er niets van terug in je topicstart en we geloven natuurlijk iedereen op z'n blauwe ogen dat 't dan wel zo zou zijn... Dat we vervolgens verdeeld over 15 posts allemaal met zaken komen aankakken die je allang hebt geprobeerd maar niet hebt vermeld nemen we dan maar voor lief; we verdoen immers alleen onze tijd, niet de jouwe daarmee.
McPoowl schreef op donderdag 02 juni 2011 @ 12:49:Daarbij is het geen huiswerk, maar een betaalde opdracht ;)
Des te meer reden om überhaupt niet aan zo'n opdracht te beginnen als je nog niet eens in de verste verte een idee hebt waar je moet beginnen; laat staan op moet Googlen/Bingen. Kijk, dat je een opdracht aanneemt en dan later wat kleine details uitzoekt is andere koek dan een opdracht aannemen zonder benul te hebben waar je aan begint. Laat dat een les zijn voor als je afgestudeerd bent ;)
McPoowl schreef op donderdag 02 juni 2011 @ 12:49:Thanks, die hadden we zelf nog niet gevonden!
Dan vraag ik me af of het niet eens tijd wordt voor wat lessen Googlen op school... :X Het is verdorie de tweede hit op de meest voor de hand liggende zoektermen :X

En dan moeten we nog geloven dat je (of jullie??) meer dan 2 seconden onderzoek hebben gedaan? Seriously? Doe me een lol en neem de Quickstart die ik in de eerste post vermeld nou eens langs je topicstart. En kijk dan nog eens kritisch naar je topicstart ;)

[Voor 5% gewijzigd door RobIII op 02-06-2011 13:41]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • McPoowl
  • Registratie: September 2006
  • Laatst online: 22:21
Je MOET helemaal niks geloven, maar je kunt ook een beetje van het goede uitgaan natuurlijk.

Maar toch bedankt voor de hulp :)

PS. Mijn ogen zijn idd mooi blauw :D

  • RobIII
  • Registratie: December 2001
  • Laatst online: 01:34

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

McPoowl schreef op donderdag 02 juni 2011 @ 13:40:
Je MOET helemaal niks geloven, maar je kunt ook een beetje van het goede uitgaan natuurlijk.
Ja, sorry, zo werkt het hier dus niet. We verwachten eigen inzet (én verwachten dat ook te zien in een topicstart). Ik heb 't nog een kans gegeven maar dit wordt me teveel een Kan iemand even...? of scriptrequest; en daar doen we dus niet aan.

[Voor 30% gewijzigd door RobIII op 02-06-2011 13:42]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij

Pagina: 1

Dit topic is gesloten.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee