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 :
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 :
Dokumen yang baru di save ke dalam type file xml tersebut apabila dibuka dengan editor notepad, bentuk standarnya akan terlihat seperti ini :
xmlns: x=”urn: schemas-microsoft-comffice:excel”
xmlns: ss=”urn: schemas-microsoft-comffice: spreadsheet”
xmlns: html=”http://www.w3.org/TR/REC-html40″>
…
x:FullRows=”1″>
…
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 <>
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 :
Silahkan download script nya di sini excel2sql.php.zip
Greetz: Staff Ilmuwebsite