ASP İle Excel Dosya Okuma
ASP'de excel dosyasını upload ettikten sonra excel dosyasındaki verileri almak aslında göründüğü kadar zor değildir. Veritabanına bağlanır gibi yine excel'e bağlanacağız ve aynı şekilde sql çalıştırarak. Burada önemli olan iki nokta bulunmakta; birincisi excel dosyasına bağlanmak için connection string nasıl tanımlanacağı, ikincisi ise sqlde tablo adının ne olacağıdır. Bu iki noktayı bildikten sonra excel dosyasını ASP ile okuyabileceğiz.
Connection string'de databasede olduğu gibi adres, kullanıcı adı ve driver tanımlamamız yeterlidir. Database bağlantısı için kullandığımız connection string;
DBConnectionString = "Provider=SQLOLEDB; Data Source=127.0.0.1; Database=DBNAME;User Id=Kullanici;Password=sifre;"
idi excele bağlanmak için ise connection string şu şekilde olmalıdır.
XLSConnectionString = "DBQ=Fileadress;DRIVER=Microsoft Excel Driver (*.xls);UID=admin;"
Bundan sonraki aşamada ise excel'de işlem yapacağımız bölümü seçiyoruz ve office XP için Ekle(INSERT) -> AD (Name) -> (Tanımla) Define, Office 2007 için seçili alanı sağ tıklıyoruz ve Aralığı Adlandır () deyip bir ad veriyoruz. Bu vermiş olduğumuz ad bizim tablomuzun adı gibi davranacaktır.
<%
'## Connection ve recordset create ediyoruz.
Dim Conn, RS,SQL
Dim XLSFile
Set Conn = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
'## Excel dosyasının konumu
XLSFile = "D:excel.xls"
'## Sorgumuz
SQL = "SELECT * FROM SINAV"
'## Connection string tanımlanıyor ve connection açılıyor
Conn.ConnectionString = "DBQ=" & XLSFile & ";DRIVER=Microsoft Excel Driver (*.xls);UID=admin;"
Conn.Open
'## CursorType tanımlanıyor
rs.cursortype = 3 ' adOpenStatic .
'## recordset açılıyor
rs.open SQL, conn
Response.Write ("<table cellpadding=""0"" cellspacing=""0"" border=""1"">")
Response.Write ("<tr><td>ID</td><td>Ad</td><td>Soyad</td><td>Puan</td><tr>")
do until RS.EOF
Response.Write ("<tr><td>")
Response.Write (rs("ID") & "</td><td>" &RS("AD") & "</td><td>" & RS("SOYAD") & "</td><td>" & RS("PUAN"))
Response.Write ("</td></tr>")
RS.movenext
Loop
'## Disconnect recordset, connection'ı kapatıp kaldırıyoruz.
rs.close
rs.activeconnection = nothing
Conn.Close
Set Conn=nothing
%>
Örnekte görüldüğü gibi D sürücüsünde excel.xls adında bir excel dosyası bulunmakta ve buna bağlanılmaktadır. Seçili alana isim vermede ise isim olarak SINAV adı verilmiştir.
Görsel Anlatımı
Dosyaları indirmek için resme tıklayınız
08 Şubat 2010, 15:42
ÇOOOOOOOOOOOOk iyi yaaaaaaaa, çok işime yarayacak bu program,
eline koluna her yerine sağlık
01 Nisan 2010, 11:21
ya abi excel sürücüsünü okuyamıyor bi yardım lütgffen