Van excel naar mysql

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dw1-nl
  • Registratie: Maart 2008
  • Laatst online: 27-08 19:49

Dw1-nl

Webontwikkelaar

Topicstarter
Hallo Tweakers,

Ik heb de volgende tabel in excel
Afbeeldingslocatie: http://i49.tinypic.com/2cz4obk.jpg

Nu wil ik deze overzetten naar mysql ik heb de tabel in een excel bestand:

Van boven naar onder links is de hoogte en van links naar rechts is de breedte de overige vakken zijn prijzen.

Nu wil ik dus in mysql:
Hoogte: 1870
Breedte: 2250
Prijs: 664

Hoogte 1870
Breedte: 2500
Prijs: 670

Etc. Dus de hoogte werkt de breedte af en dan de volgende hoogte hoe moet ik dit doen?

_/-\o_

Acties:
  • 0 Henk 'm!

  • Compuhair
  • Registratie: September 2009
  • Laatst online: 09:14
je krijgt dan toch een tabel als:

code:
1
2
3
4
HOOGTE    BREEDTE    PRIJS
--------  ---------  --------
1870      2250       664
1870      2500       670


of is dat niet je vraag?

[ Voor 7% gewijzigd door Compuhair op 23-12-2009 21:52 ]


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 18:39

Matis

Rubber Rocket

Ja, je zet je msexcel-bestand om naar een csv, schrijft een eenvoudig php-scriptje en schiet al die gegevens in mysql, je kunt misschien ook via acces een mysql-script laten genereren.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Of nog beter direct importeren via PHPMYAdmin ;)

Dw1-nl, wil je aub aangeven wat je zelf al hebt geprobeerd, want PRG is geen subforum om maar een oplossing hier af te halen :) Als je dat niet doet, gaat dit topic niet lang openblijven.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • Dw1-nl
  • Registratie: Maart 2008
  • Laatst online: 27-08 19:49

Dw1-nl

Webontwikkelaar

Topicstarter
Ik zelf heb geprobeerd de manier van Matis, maar er staan ook titels boven die kreeg ik er niet in anders moet ik met id's gaan werken.

Ik heb nu een csv die ik hier trouwens kan plaatsen zodat jullie ernaar kunnen kijken, bestaat uit 5 tabbelen met elk weer 5 titels dus die in een andere tabel moeten in mysql.

Het voornaamste nu is hoe schrijf ik dat scriptje dat die csv opent?

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Begin eerst met [google=import csv mysql] en kijk wat er precies wordt aangekaart. Kijk eens naar PHPMYAdmin die hier ook functionaliteit voor biedt... Loop je dan ergens vast, dan kan je hier om hulp vragen. Dus niet hoe schrijf ik een scriptje, maar ik heb dit geschreven en regel 34 geeft elke keer een error :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Dw1-nl schreef op woensdag 23 december 2009 @ 22:10:
Ik zelf heb geprobeerd de manier van Matis, maar er staan ook titels boven die kreeg ik er niet in anders moet ik met id's gaan werken.

Ik heb nu een csv die ik hier trouwens kan plaatsen zodat jullie ernaar kunnen kijken, bestaat uit 5 tabbelen met elk weer 5 titels dus die in een andere tabel moeten in mysql.
Je laatste opmerking(en) kan ik niet zo goed plaatsen. Heb je nu 1 matrix die in een tabel moet, meerdere matrices die in meerdere tabellen moeten of 1 matrix die in meerdere tabellen moet :?

Anyway, als je nu niet moeilijk wil doen met importscriptjes schrijven, dan kan je ook altijd nog Excel je sql statements laten samenstellen. Excel is namelijk heel goed in het combineren van velden in een formule. En zo'n formule kan ook een stukje tekst teruggeven.

In het geval van het voorbeeld uit je openingspost wordt dat dan (er vanuit gaande dat het H/B veld in A1 staat):

[list]
• zet de formule =CONCATENATE("insert into prijzentabel (hoogte,breedte,prijs) values ("; $A2; ","; B$1; ","; B2; ");") ergens naast je laatste waarde van de 2e rij (veld S2 ofzo);
• kopieer de formule zoveel kolommen naar rechts en rijen naar beneden als je matrix groot is (elk prijs veld in de matrix krijgt een formule en dus een sql statement);
• selecteer alle velden met een formule en copy paste naar een tekstbestandje;
• et voilà, alle sql statements die je nodig hebt voor de import.

[ Voor 16% gewijzigd door Annie op 23-12-2009 22:48 ]

Today's subliminal thought is:


Acties:
  • 0 Henk 'm!

  • Dw1-nl
  • Registratie: Maart 2008
  • Laatst online: 27-08 19:49

Dw1-nl

Webontwikkelaar

Topicstarter
Bedankt Annie, ik denk dat wel een mooie oplossing is ik heb gedaan wat je zei van de formule in veld S2 te plakken maar ik krijg een error, ik heb het excel bestandje even geüpload.

Misschien dat het dan wat duidelijker word wat ik heb.
Downloaden

Ik heb trouwens dus stuk of 20 van deze excel bestanden.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Ik zie een #NAME? error in je excel. Kan meerdere oorzaken hebben; zie ook de help van Excel over deze foutmelding.
Probeer de volgende formule eens (zonder de concatenate-function die misschien niet werkt in jouw versie van Excel):

code:
1
="insert into prijzentabel (hoogte,breedte,prijs) values (" & $A2 & "," & B$1 & "," & B2 & ");"

Today's subliminal thought is:


  • Dw1-nl
  • Registratie: Maart 2008
  • Laatst online: 27-08 19:49

Dw1-nl

Webontwikkelaar

Topicstarter
Bedankt :) Dat werkt nu even de database gaan maken hartelijk bedankt :)

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 14:28
Annie schreef op woensdag 23 december 2009 @ 22:47:
[list]
• zet de formule =CONCATENATE("insert into prijzentabel (hoogte,breedte,prijs) values ("; $A2; ","; B$1; ","; B2; ");") ergens naast je laatste waarde van de 2e rij (veld S2 ofzo);
Concatenate heet alleen zo met de Engelse Microsoft Office Excel, waarom ze het hier weer moesten vertalen naar TEKST.SAMENVOEGEN() begrijp ik ook niet.

@on-topic:
Waarom importeer je de CSV file gewoon niet direct in PHPMyAdmin, dat scheelt je heel veel werk aangezien het daar al voor je is gedaan dat je alleen nog maar op een Uploaden knop hoeft te klikken.
Pagina: 1