Konversi File Excel ke MySql

Penulis: Loka Dwiartara

Source Codenya

Simpan script php di bawah ini dengan nama excel2sql.php, kemudian letakkan pada direktori dimana program php itu berada, penulis menyimpannya di dalam c:\program files\xampp\php.

$tables = array();
$indata = 0;

function encode( $text )

{
$text = preg_replace( “/’/”, “””, $text );
return “‘”.$text.”‘”;
}

function start_element( $parser, $name, $attribs )
{
global $tables, $indata;
if ( $name == “WORKSHEET” )
{
$tables []= array(
‘name’ => $attribs['SS:NAME'],
‘data’ => array()
);
}
if ( $name == “ROW” )
{
$tables[count($tables)-1]['data'] []= array();
}
if ( $name == “DATA” )
{
$indata = 1;
}
}
function text( $parser, $text )
{
global $tables, $indata;
if ( $indata )
{

$data =& $tables[count($tables)-1]['data'];
$data[count($data)-1] []= $text;
}
}
function end_element( $parser, $name )
{
global $indata;
if ( $name == “DATA” )
$indata = 0;
}
$parser = xml_parser_create( );
xml_set_element_handler( $parser, “start_element”, “end_element” );
xml_set_character_data_handler( $parser, “text” );
while( !feof( STDIN ) ) {
$text = fgets( STDIN );
xml_parse( $parser, $text );
}
xml_parser_free( $parser );
foreach( $tables as $table )
{
$name = $table['name'];
$data =& $table['data'];

@$cols = implode( “,”, $data[0] );
$cols = strtolower(str_replace(” “,”_”,$cols));

for( $in = 1; $in < count( $data ); $in++ )
{
$sqldata = implode( “, “, array_map( “encode”, $data[$in] ) );
?>
INSERT INTO ( ) VALUES ( );
}
}
?>

Cara Penggunaannya

Langkah awal yang harus di lakukan adalah membuat satu dokumen excel baru, atau jika anda akan menggunakan dokumen yang sudah ada, buat bentuk sederhana dari dokumen tersebut, kira-kira bentuknya, dengan awal mulanya seperti ini :

Konversi File Excel ke MySql web desain grafis

Di gambar tersebut terlihat saya telah menghapus sheet yang tidak akan digunakan nantinya. Ini dilakukan sebagai upaya penghematan resource saja. Tips dari penulis : jangan jadi seorang yang pemboros.

Ya, langkah selanjutnya save as dokumen tersebut, ke dalam bentuk XML Spreadsheet (*.xml, di sini penulis meletakkannya di direktori c:\Another :

Konversi File Excel ke MySql web desain grafis

Dokumen yang baru di save ke dalam type file xml tersebut apabila dibuka dengan editor notepad, bentuk standarnya akan terlihat seperti ini :



xmlns: o=”urn: schemas-microsoft-comfficeffice”
xmlns: x=”urn: schemas-microsoft-comffice:excel”
xmlns: ss=”urn: schemas-microsoft-comffice: spreadsheet”
xmlns: html=”http://www.w3.org/TR/REC-html40″>

Al-k
Al-k


9720
15195
480
45
False
False


x:FullRows=”1″>






id
Nama Customer
Alamat Rumah
Email



1
Yudho P
Bandung
antoniush@plasa.com

Ya, kira-kira struktur filenya akan seperti itu, namun ada beberapa bagian yang sengaja penulis dihilangkan. Langkah berikutnya adalah menjalankan script phpnya dengan menggunakan command line :

Start menu | run | cmd

( ket: penulis menggunakan xampp pada tutorial ini, tidak berbeda dengan web server paketan yang lainnya )

Masuk ke dalam direktori dimana php.exe berada,
C:\>cd c:\program files\xampp\php

Kemudian jalankan scriptnya,
C:\Program Files\xampp\php>php.exe excel2sql.php <>

Konversi File Excel ke MySql web desain grafis

Anda pun dapat menyisipkan hasil sqlnya kedalam satu file :
C:\Program Files\xampp\php>php.exe excel2sql.php <> databasecostumer.sql

Berikut adalah screenshoot hasil dari eksekusi perintah tersebut :

Konversi File Excel ke MySql web desain grafis

Silahkan download script nya di sini excel2sql.php.zip

Greetz: Staff Ilmuwebsite