Hallo,

Kan ik een excel bestand omzetten naar mysql?

Het excel bestand is als volgt ingedeeld:


EAN_code        | code    | breedte | serie | velg | merk  | profiel       | index | prijs | 
4024068115403| 362011| 145       |         | 10   | merkn | rallye 280 | S       | 44,50


Zo hier en daar is wel eens een veld opgengelaten. Kan ik zo een dergelijk document automatisch in een mysql db plaatsen? Zo ja, is er ook een mogelijkheid om kolommen weg te halen?

Bedankt alvast!

Groetjes Michele
opslaan als .csv en importeren in mysql, ez :)
kan ik dan ook kiezen welke kolommen enzo?
kan ik ook kolomnamen anders benoemen in mysql maw. dit excel bestand in een BESTAANDE tabel invoegen?
Als phpMyAdmin dwars gaat liggen bij het importeren kan het ook met een script. Wel zelf de veldnamen aanpassen:
<?php
// alle errors laten zien
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// connecten met DB
require '../../db_config.php';

$errors = array ();
$file = 'docs/instellingen.txt';
// bestand inlezen in een multi-array
$data = file ($file);
$values = array ();
// elk element van de multi-array in zijn eigen array prakken met explode op de |
// daarna een INSERT query maken
foreach ($data as $value) {
$values = explode ('|', $value);
if (is_array ($values) && !empty ($values)) {
$sql = "
INSERT INTO ckvwijzer_instellingen
SET
regio = '" . mysql_real_escape_string ($values[0]) . "',
naam = '" . mysql_real_escape_string ($values[1]) . "',
locatie = '" . mysql_real_escape_string ($values[2]) . "',
bezoekadres = '" . mysql_real_escape_string ($values[3]) . "',
postadres = '" . mysql_real_escape_string ($values[4]) . "',
postbus = '" . mysql_real_escape_string ($values[5]) . "',
postcode = '" . mysql_real_escape_string ($values[6]) . "',
plaats = '" . mysql_real_escape_string ($values[7]) . "',
telefoon = '" . mysql_real_escape_string ($values[8]) . "',
fax = '" . mysql_real_escape_string ($values[9]) . "',
email = '" . mysql_real_escape_string ($values[10]) . "',
website = '" . mysql_real_escape_string ($values[11]) . "',
contactpersoon1 = '" . mysql_real_escape_string ($values[12]) . "',
contactpersoon1_functie = '" . mysql_real_escape_string ($values[13]) . "',
contactpersoon2 = '" . mysql_real_escape_string ($values[14]) . "',
contactpersoon2_functie = '" . mysql_real_escape_string ($values[15]) . "',
contactpersoon3 = '" . mysql_real_escape_string ($values[16]) . "',
contactpersoon3_functie = '" . mysql_real_escape_string ($values[17]) . "',
soort = '" . mysql_real_escape_string ($values[18]) . "',
beschrijving = '" . mysql_real_escape_string ($values[19]) . "',
culturele_activiteiten = '" . mysql_real_escape_string ($values[20]) . "',
openingstijden = '" . mysql_real_escape_string ($values[21]) . "',
toegangsprijs = '" . mysql_real_escape_string ($values[22]) . "',
beheerder = '" . mysql_real_escape_string ($values[24]) . "'";
if (!mysql_query ($sql)) {
$error = '<li>' . mysql_errno () . ': ' . mysql_error () . '</li>';
array_push ($errors, $error);
}
}
}
if (!empty ($errors)) {
echo '<ol>';
foreach ($errors as $value) {
echo $value;
}
echo '</ol>';
}
?>
Kan je ook wel doen, maar wat gemakkelijker is is een tabel aan laten maken vanuit dat csv bestand, en dan uit de gemaakte tabel de kolommen die je niet meer wilt hebben verwijderen (kan je ook in excel doen, voor je er een csv van maakt) en eveneens kan je in excel de kolomnamen alvast aanpassen.
Bedankt alvast voor jullie antwoorden, volgende week zal ik de excel files krijgen en ga dan zeker proberen.
Mocht het niet lukken bump ik het topic!
Bedankt!
kijk eens naar het programma Navicat...

www.navicat.com

met deze DB-admin kan je uit heel veel bestandsformaten exporteren naar een MySQL db.. ook een .xls bestand

Reageren