تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: قواعد البيانات JAVA JDBC
صفحة 1 من اصل 1 • شاطر
تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC
بسم الله الرحمن الرحيم
أهلا وسهلا بكم إخوانى الكرام ... فى دروس سابقة تعلمنا[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]...و ايضا قد تعلمنا [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ... أما درس اليوم هو كيفية قراءة و كتابة ملفات الاكسل بدون الحاجة الى مكتبات خارجية و ذلك من خلال الكائن 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();
}
}
و فى النهاية أشكركم على حسن الاستماع
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC
تحياتى لك يا مبدع
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
رد: تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC
الله عليك ...عنجد مجهود عظيم
المبرمج الطموح- الاشراف
- تاريخ التسجيل : 18/02/2011
المساهمات : 207
النقاط : 368
التقيم : 17
الدولة :
الجنس :
رد: تعلم كيقية قراءة و كتابة ملفات الاكسل باستخدام JDBC
تحياتى لك استاذنا [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
م/موسي- الاشراف
- تاريخ التسجيل : 18/02/2011
المساهمات : 178
النقاط : 346
التقيم : 12
الدولة :
الجنس :
1zaza- ...
- تاريخ التسجيل : 18/11/2018
المساهمات : 39
النقاط : 66
التقيم : 3
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: قواعد البيانات JAVA JDBC
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» كبسولات نباتية فارغة
» شحن عملات تيك توك مجانا بدون رقم هاتف
» فوط صحية ناعمة لايام الولادة بالقطن العضوية قوية الامتصاص| organyckw
» اعلانات الباصات الكويت | شركة دعاية واعلان | كواليتي ميكرز | 0096597550465
» كيفية تحديد سعر تصميم تطبيقات الجوال– ايكون تك
» تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object
» كيفية تأسيس شركة في دبي
» افضل واحدث كاميرات المراقبة الامنية والمشاهدة عبر الانترنت
» اصنع شبكتك بنفسك