تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC

اذهب الى الأسفل

تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC  Empty تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC

مُساهمة من طرف أحمد مناع في الإثنين فبراير 17, 2014 7:26 am

بسم الله الرحمن الرحيم

أهلا وسهلا بكم إخوانى الكرام ... فى دروس سابقة تعلمنا[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]...و ايضا قد تعلمنا [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ... أما درس اليوم هو كيفية قراءة و كتابة ملفات الاكسل بدون الحاجة الى مكتبات خارجية و ذلك من خلال الكائن JDBC وذلك من خلال اتباع الخطوات التالية :

أولا قراءة مصنف أكسل



1_للاتصال قاعدة بيانات نحتاج إلى كائنات الاتصال وهى sql.Connection ,sql.DriverManager ,sql.SQLException ويتم أستيراد تلك الكائنات عن طريق الكود التالى :

الكود:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


2_ الاعلان عن الكائنات التى تستخدم لاتمام عملية الاتصال بملف الاكسل باستخدام الكائنات كما تعلمنا سابقا وهى : الكائن Connection وهو الخاص بنص الاتصال ...الكائن Statement وهو الخاص بجمل التحكم ....و الكائن Result Set وهو الخاص بمؤشر البيانات وذلك عن طريق الكود التالى :

الكود:
Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;


3_ نقوم بتحميل سائق الاتصال JdbcOdbcDriver و تخزينة فى متغير نصى على النحو التالى :


الكود:
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";


4_ تحميل ملف الاكسل المراد قرائة وتخزينة فى متغير نصى على النحو التالى :
الكود:
String url = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=excelDB.xls;"
        + "DriverID=22;READONLY=false";

حيث ان excelDB هو الملف الاكسل المراد قرائته و يوجد فى نفس مسار التطبيق


5_ اذا كان الملف محمى بكلمة مرور و رقم سرى يتم تخزينهم فى متغير نصى على النحو التالى :

الكود:

String username = "yourName";
    String password = "yourPass";


6_ نقوم باستدعاء الطريقة forName وذلك لتحميل الفصيلة Class التي تحتوي على مشغل قاعدة البيانات ثم نقوم بتمرير سائق الاتصال JdbcOdbcDriver الذى تم تخزينة سابقا فى المتغير driver

الكود:
Class.forName(driver);


7_ نقوم بأستدعاء الطريقة getConnection الموجودة فى الفصيلة DriverManager من الاتصال بقاعدة بيانات و تمريها للكائن الذى تم الاعلان عنه conn  ذلك عن طريق الكود التالى :
الكود:

conn =DriverManager.getConnection(url, username, password);


8_ نقوم بإستدعاء الطريقة createStatement لانشاء الكائن Statement والذي سيستخدم للاستعلام و جلب البيانات من ملف الاكسل وذلك عن طريق الكود التالى :

الكود:
stmt = conn.createStatement();


9_ نقوم بالاعلان عن متغير نصى وليكن excelQuery لحفظ جملة الاستعلام فية و ذلك عن طريق الكود التالى :

الكود:
String excelQuery = "select * from [Sheet1$]";


10_تنفيذ الاستعلام من خلال استدعاء الطريقة executeQuery الموجودة فى الصنف Statement  و الذى قد عبرنا عنه بالكائن rs و ذلك على النحو التالى :

الكود:
rs = stmt.executeQuery(excelQuery);


11_ نقوم بعمل حلقة تكرار للحصول على بيانات ورقة العمل الاولى فى مصنف أكسل على النحو التالى :

الكود:
while (rs.next()) {
      System.out.println(rs.getString("FirstName") + " " + rs.getString("LastName"));
    }


12 _ أغلاق كائنات العمل

الكود:
rs.close();
    stmt.close();
    conn.close();


و الشفرة الكاملة لقراءة مصن أكسل على النحو التالى :

الكود:

package test9;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Test9 {

public static void main(String[] args) throws Exception {
 Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String url = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=excelDB.xls;"
        + "DriverID=22;READONLY=false";
    Class.forName(driver);
    conn =DriverManager.getConnection(url, "", "");
    
    stmt = conn.createStatement();
    String excelQuery = "select * from [Sheet1$]";
    rs = stmt.executeQuery(excelQuery);
    
    while (rs.next()) {
      System.out.println(rs.getString("FirstName") + " " + rs.getString("LastName"));
    }
    
    rs.close();
    stmt.close();
    conn.close();
    
}
}


ثانيا : الكتابة فى مصنف أكسل


بالنسبة للكتابة فى مصنف أكسل باستخدام تلك الطريقة هو نفس الكود المستخدام أعلاه فى قراءة المصنف فيما عدا جملة الاستعلام و التى ستتغير الى :

الكود:
String excelQuery = "insert into [Sheet1$](FirstName, LastName) values('A', 'K')";


ثم يتم تحديث بيانات الكائن stmt على النحو التالى :
الكود:
 stmt.executeUpdate(excelQuery);


و الشفرة الكاملة للكتابة فى مصنف أكسل على النحو التالى :

الكود:

package test9;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Test9 {

public static void main(String[] args) throws Exception {
 Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String url = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=excelDB.xls;"
        + "DriverID=22;READONLY=false";
    Class.forName(driver);
    conn =DriverManager.getConnection(url, "", "");
    
    stmt = conn.createStatement();
    String excelQuery = "insert into [Sheet1$](FirstName, LastName) values('A', 'K')";
  
    stmt.executeUpdate(excelQuery);
    
    rs.close();
    stmt.close();
    conn.close();
    
}
}





و فى النهاية أشكركم على حسن الاستماع

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC  Empty رد: تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC

مُساهمة من طرف زهراء في الإثنين فبراير 17, 2014 11:47 am

تحياتى لك يا مبدع
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 395
النقاط : 664
التقيم : 53
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC  Empty رد: تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC

مُساهمة من طرف المبرمج الطموح في الإثنين نوفمبر 02, 2015 9:22 am

الله عليك ...عنجد مجهود عظيم
المبرمج الطموح
المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 192
النقاط : 345
التقيم : 13
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC  Empty رد: تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC

مُساهمة من طرف م/موسي في الثلاثاء يناير 08, 2019 6:46 pm

تحياتى لك استاذنا [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
م/موسي
م/موسي
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 171
النقاط : 330
التقيم : 11
الدولة : تونس
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى