Alanınız ne olursa olsun kullanılan verilerin Microsoft Office Programları ile taşınması günümüzde çok olağan bir durum. Zaman zaman çeşitli departmanlar farklı dosyaları sizlere gönderip bunların içerisindeki verinin düzenlenmiş olarak web ortamında paylaşılmasını isteyebilirler.
Bu yazıda Excel verilerini nasıl kullanacağımızı ve bunları mysql’e nasıl kaydedeceğimizi göreceğiz.

<?
/*
Dışarıdan URL içerisinde veya başka şekilde
değişkenlerimiz değiştirilmesin diye
veritabanına bağlanırken kullanacağımız
değişkenleri sabit olarak tanımlıyoruz.
*/
define(db_host, "localhost");
define(db_user, "root");
define(db_pass, "");
define(db_link, mysql_connect(db_host, db_user,
db_pass));
define(db_name, "test");
mysql_select_db(db_name);
/* Excel adında bir obje oluşturuyoruz. */
$excel = new COM("Excel.Application") or
die("Excel could not be started");
/* Eğer açılacak Excel dosyasında bulunan
veri büyükse hata dönmesin diye
max_execution_time'ı sadece bu oturum için
120 olarak değiştiriyoruz. */
ini_set('max_execution_time','120');
/* Excel dosyasının işletim sisteminde
açılmasını engellemek
için visible değerini sıfır olarak atıyoruz. */
$excel -> Visible = 0;
/* Excel tarafından oluşacak bir hatanın
kullanıcıya görüntülenmemesini istiyoruz. */
$excel -> DisplayAlerts = 0;
/* userlist.xls dosyasını açıp çalışacağımız
worksheet'i belirliyoruz. */
$data = $excel -> Workbooks -> Open
("C:\userlist.xls");
$Sheets = $data -> Worksheets(1);
/* Cells isimli fonksiyona ilk
parametresinde hangi satırı,
ikincisinde ise hangi sütunu okuyacağını
döngülerle atıyoruz. */
for($i = 3; $i <= 5; $i++){
for($x = 1; $x <= 3; $x++){
$Cell = $Sheets -> Cells($i, $x);
$Cell -> activate;
switch($x){
case 1; $name = $Cell -> value; break;
case 2; $username = $Cell -> value; break;
case 3; $country = $Cell -> value; break;
}
}
/* En başta mysql'e bağlanıp ilgili
veritabanını seçmiştik.
Şimdi ise members tablosuna excelden
aldığımız kullanıcı bilgilerini giriyoruz. */
$SQL = mysql_query("INSERT INTO
members VALUES(NULL, '$name', '$username',
'$country')");
}
/* Excel'i kapatıyoruz... */
$excel -> Quit();
?>










cok tesekkur ederım faydalı bı dokuman daha denemedım ama deneyecegım
aytac
09 Ağustos 2007, 13:59
denemedim ama çok faydalı olacağını düşünüyorum,,,
teşekkürler
erdinç
19 Ekim 2007, 15:49
harika bi yazı kesinlikle, çok teşekkür ediyorum kardeş.
mavili
02 Mart 2008, 21:20
Merhaba,tam aradığım şeydi ama yapamadım,bende hata da vermiyor ama bir türlü olmuyor neden acaba?
Gürkan
15 Mart 2008, 23:21
çok güzel bir yazı oldukça faydalı oldu. yalnız bir sorum oalcak : windows tabanlı işletim sistemlerinde gayet güzel çalışıyor localhost ta kullandım ama serverıma atınca (linux) “Cannot instantiate non-existent class: com in… ” diye hata veriyor. linux de xls dosylarını açamadığından dolayı oalbilirmi … nasıl yapabilriz bu işlemi ?=
Teşşekkrler.
alp
25 Mart 2008, 15:23
çok merak ettiğim bir konuydu, o kadar da zor değilmiş..
bundan sonra ameleliğe son
subeler
03 Mayıs 2008, 17:31
Diğer bir yöntem dosyanızı CSV ( Comma delimited) oalrak export edip ( yada save as CVS excel üzerinden) daha sonra aşağıdaki sql kodunu çalıştırmak :
load data local infile ‘D:\\data.cvs’
into table `DB_ADI`.`TABLO_ADI`
fields escaped by ‘\\’ enclosed by ‘;’ terminated by ” lines terminated by ‘\r\n’ (`id`, `alan_1`, `alan_2`, `alan_n`)
saygılar..
Murat KAYA
08 Mayıs 2008, 13:18