تعلم كيفية قراءة ملفات Excel إصدار XLS & XLSX بإستخدام المكتبة Apache POI
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: قواعد البيانات JAVA JDBC
صفحة 1 من اصل 1 • شاطر
تعلم كيفية قراءة ملفات Excel إصدار XLS & XLSX بإستخدام المكتبة Apache POI
بسم الله الرحمن الرحيم
أهلا وسهلا بكم إخوانى الكرام ....منذ فترة كنت قد كتبت مقال عن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وأخبرنا بإن تلك المكتبة تمكنك فقط من قراءة مصنفات الاكسل الاصدار 95, 97, 2000, 2003 و التى عادة تكون بإمتداد XLS ...درس اليوم هو عن كيفية قراءة ملفات الاكسل إصدار XLS بالاضافة الى إصدار XLSX و التى تبدأ من الاصدرا 2007 فما فوق وذلك من خلال المكتبة Apache POI library و ذلك من خلال الخطوات البيسطة التالية :1_ قم بتحميل المكتبة Apache POI library v3.8 أو أى إصدار أعلى من هنـــــــــــــــــــــــــــا
2_قم بفك الضغط ثم قم بنسخ الملف poi-3.10-beta2-20130904 الى مجلد مشروعك classpath
3_ كتابة الشفرات البرمجية
أولا : قراءة ملفات XLS بإستخدام Apache POI وهى ملفات الاكسل إصدار Office 97 -2003
_نفترض أن لدينا المصنف اكسل بإسم Read_Excel_Example.xls و يحتوى على ورقة عمل بإسم SHEET1 ويحتوى على بعض البيانات كما فى الشكل التالى :
_ فى البداية نقوم بإستيراد مكتبات العمل التالية :
- الكود:
import java.io.FileInputStream;
import java.io.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.usermodel.*;
import java.util.Iterator;
- الكود:
FileInputStream input_document = new FileInputStream(new File("C:\\Read_Excel_Example.xls"));
- الكود:
HSSFWorkbook my_xls_workbook = new HSSFWorkbook(input_document);
- الكود:
HSSFSheet my_worksheet = my_xls_workbook.getSheetAt(0);
- الكود:
Iterator<Row> rowIterator = my_worksheet.iterator();
while(rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch(cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t\t");
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + "\t\t");
break;
}
}
System.out.println("");
}
input_document.close();
_
- الكود:
Iterator<Row> rowIterator = my_worksheet.iterator();
while(rowIterator.hasNext()) {
Row row = rowIterator.next();
_أما الشفرة
- الكود:
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next()
_ ثم أستخدمنا جملة switch للحصول عن نوع بيانات الخلية بحيث يتم طباعة الخلايا التى تحتوى على بيانات رقمية التى تحتوى على بيانات نصية كلا على حده
و الشفرة الكاملة لقراءة مصنف أكسل إصدار Office 97 -2003 بإستخدام المكتبة Apache POI على النحو التالى :
- الكود:
import java.io.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.usermodel.*;
import java.util.Iterator;
public class readxls {
public static void main(String[] args) throws Exception{
FileInputStream input_document = new FileInputStream(new File("C:\\Read_Excel_Example.xls"));
HSSFWorkbook my_xls_workbook = new HSSFWorkbook(input_document);
HSSFSheet my_worksheet = my_xls_workbook.getSheetAt(0);
Iterator<Row> rowIterator = my_worksheet.iterator();
while(rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch(cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t\t");
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + "\t\t");
break;
}
}
System.out.println("");
}
input_document.close();
}
}
Student ID Subject Score
101.0 English 67.0
101.0 Science 87.0
102.0 English 69.0
102.0 Science 75.0
103.0 English 37.0
103.0 Maths 90.0
لنا متابعة فى الجزء الثانى من الدرس101.0 English 67.0
101.0 Science 87.0
102.0 English 69.0
102.0 Science 75.0
103.0 English 37.0
103.0 Maths 90.0
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية قراءة ملفات Excel إصدار XLS & XLSX بإستخدام المكتبة Apache POI
بسم الله الرحمن الرحيم
ثانيا : قراءة ملفات XLSX بإستخدام Apache POI وهى ملفات الاكسل إصدار 2007ملفات XLSX تختلف في الشكل بالمقارنة مع ملفات XLS، وبالتالي تحتاج إلى استخدام أو استيراد بعض المكتبات الجديدة من المكتبة Apache POI لقراءة بيانات تلك الملفات .وبالتالى سنقوم بإستيراد المكتبات الجديدة على النحو التالى :
- الكود:
import java.io.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.ss.usermodel.*;
import java.util.Iterator;
- الكود:
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
- الكود:
import java.io.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.ss.usermodel.*;
import java.util.Iterator;
public class readxlsx {
public static void main(String[] args) throws Exception{
FileInputStream input_document = new FileInputStream(new File("C:\\Read_Excel_Example.xlsx"));
XSSFWorkbook my_xlsx_workbook = new XSSFWorkbook(input_document);
XSSFSheet my_worksheet = my_xlsx_workbook.getSheetAt(0);
Iterator<Row> rowIterator = my_worksheet.iterator();
while(rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch(cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t\t"); //print numeric value
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + "\t\t"); //print string value
break;
}
}
System.out.println("");
}
input_document.close();
}
}
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية قراءة ملفات Excel إصدار XLS & XLSX بإستخدام المكتبة Apache POI
مقال فى منهى الروعة و الابداع فى الطرح بارك الله فيك
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
رد: تعلم كيفية قراءة ملفات Excel إصدار XLS & XLSX بإستخدام المكتبة Apache POI
موضوع رائع وشرح اروع ...شكرا شكرا شكرا
.كان بودي ان تتطرق الى كيفية تخزين ملف Excel في قاعدة بيانات
.كان بودي ان تتطرق الى كيفية تخزين ملف Excel في قاعدة بيانات
mergac- .
- تاريخ التسجيل : 03/11/2019
المساهمات : 7
النقاط : 8
التقيم : 1
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: قواعد البيانات JAVA JDBC
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الثلاثاء مارس 26, 2024 6:26 pm من طرف moslema_r
» شركة تنظيف استراحات بالرياض
الأحد مارس 24, 2024 10:49 pm من طرف moslema_r
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» شركة تنظيف ثريات بالرياض
الخميس مارس 21, 2024 7:23 pm من طرف moslema_r
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد
» افضل معلم جبس بالرياض تركيب جبس بورد بالرياض 20% خصم اتصل الآن
الأحد مارس 17, 2024 1:09 pm من طرف رانيا حماد
» شراء اثاث مستعمل بالكويت بخصم 30%
الأحد مارس 17, 2024 12:54 pm من طرف رانيا حماد
» افضل فني كهربائي منازل بالرياض جودة 100% | اتصل الآن
الأحد مارس 17, 2024 12:36 pm من طرف رانيا حماد