تعلم كيفية تحويل مستند Excel إلى ملف PDF من خلال تطبيقات الجافا

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية تحويل مستند Excel إلى ملف PDF من خلال تطبيقات الجافا

مُساهمة من طرف أحمد مناع في الجمعة نوفمبر 29, 2013 6:44 pm

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

أهلا وسهلا بكم إخوانى الكرام ....فى هذا الدرس إن شاء الله تعالى سنتعلم سويا كيفية تحويل مستند Excel إصدار (Office 97 – 2003) إلى ملف PDF من خلال تطبيقات الجافا وقبل البدء يجب عليك أخى القارىء الاطلاع على الدرسين التاليين :



_ كما يجب عليك أدراج المكتبات التالية الى مشروعك


  • POI v3.8 
  • iText v5.3.4 

_ نقوم بعد ذلك بكتابة التعليمات البرمجية على النحو التالى :

_ إستيراد مكتبات العمل اللازمة على النحو التالى :
الرمز:
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;

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
_ نقوم بالاعلان عن الكائنات اللازمة لقراءة ملف أكسل وذلك على النحو التالى :
الرمز:
  FileInputStream input_document = new FileInputStream(new File("C:\\excel_to_pdf.xls"));
  HSSFWorkbook my_xls_workbook = new HSSFWorkbook(input_document);
  HSSFSheet my_worksheet = my_xls_workbook.getSheetAt(0);
  Iterator<Row> rowIterator = my_worksheet.iterator();
_نقوم بالاعلان عن الكائنات اللازمة لانشاء ملف PDF على النحو التالى :
الرمز:
Document iText_xls_2_pdf = new Document();
                PdfWriter.getInstance(iText_xls_2_pdf, new FileOutputStream("Excel2PDF_Output.pdf"));
                iText_xls_2_pdf.open();
_لدينا اثنين من الأعمدة في ورقة اكسل المراد تحويلها، ولذا فإننا سنقوم بإنشاء جدول PDF مع عمودين فقط على النحو التالى :
الرمز:
PdfPTable my_table = new PdfPTable(2);
_ سوف نستخدم الكائن أدناه لإضافة البيانات الجديدة بشكل حيوي إلى الجدول
الرمز:
PdfPCell table_cell;
_نقوم بعمل حلقتان تكراريتان للحصول على بيانات الصفوف و الاعمدة فى ورقة عمل أكسل ومن ثم إضافتهم فى خلايا ملف pdf وذلك على النحو التالى :
الرمز:
 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_STRING:
      table_cell=new PdfPCell(new Phrase(cell.getStringCellValue()));                        
      my_table.addCell(table_cell);
          break;
             }
                              
            }
                
            }
_ أخير أغلاق كافة الكائنات التى تم أستخدامها على النحو التالى :
الرمز:
iText_xls_2_pdf.add(my_table);                      
                iText_xls_2_pdf.close();                

                input_document.close();
الشفرة الكاملة للكود على النحو التالى :

الرمز:
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;

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;

public class excel2pdf {  
        public static void main(String[] args) throws Exception{
                
                FileInputStream input_document = new FileInputStream(new File("C:\\excel_to_pdf.xls"));
                HSSFWorkbook my_xls_workbook = new HSSFWorkbook(input_document);
                HSSFSheet my_worksheet = my_xls_workbook.getSheetAt(0);
                Iterator<Row> rowIterator = my_worksheet.iterator();
                Document iText_xls_2_pdf = new Document();
                PdfWriter.getInstance(iText_xls_2_pdf, new FileOutputStream("Excel2PDF_Output.pdf"));
                iText_xls_2_pdf.open();
                PdfPTable my_table = new PdfPTable(2);
                PdfPCell table_cell;
      while(rowIterator.hasNext()) {
                    Row row = rowIterator.next();
                    Iterator<Cell> cellIterator = row.cellIterator();
                             while(cellIterator.hasNext()) {
                                    switch(cell.getCellType()) {
                                          
                                        case Cell.CELL_TYPE_STRING:
                                        
                                                 table_cell=new PdfPCell(new Phrase(cell.getStringCellValue()));
                                            
                                                 my_table.addCell(table_cell);
                                                break;
                                        }
                                    
                                }
                
                }
            
                iText_xls_2_pdf.add(my_table);                      
                iText_xls_2_pdf.close();                
            
                input_document.close();
        }
}


تحياتى لكم

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

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

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

http://egy-tech.forumegypt.net

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

رد: تعلم كيفية تحويل مستند Excel إلى ملف PDF من خلال تطبيقات الجافا

مُساهمة من طرف ذوكا في السبت نوفمبر 30, 2013 5:22 pm

جزاك الله خيرا ....ومشكورررر اخى احمد

ذوكا
.....
.....

تاريخ التسجيل : 26/05/2013
المساهمات : 92
النقاط : 155
التقيم : 11
الدولة : مصر
الجنس : ذكر

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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