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

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

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

مُساهمة من طرف أحمد مناع في الجمعة نوفمبر 29, 2013 3: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
المساهمات : 994
النقاط : 201783
التقيم : 119
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

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

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

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

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

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

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

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

ََ

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


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