Προγραμματισμός

Υπέροχη στο Excel με Java

Είτε έχετε ισολογισμούς, λήψεις πληροφοριών λογαριασμού, υπολογισμούς φόρου ή δελτία πληρωμής, όλα τείνουν να έρχονται στο Microsoft Excel. Οι επαγγελματίες που δεν είναι IT δεν αισθάνονται άνετα να χρησιμοποιούν το Microsoft Excel ως τεχνολογία ανταλλαγής δεδομένων. Το API Jakarta POI (Poor Obfuscation Implementation) είναι ένας φανταστικός τρόπος για τους προγραμματιστές Java να έχουν πρόσβαση σε μορφές εγγράφων της Microsoft. Το πιο ώριμο API από το Jakarta POI είναι το API HSSF (Horrible Spreadsheet Format), το οποίο έχει πρόσβαση σε έγγραφα του Microsoft Excel.

Σε αυτό το άρθρο, θα σας καθοδηγήσω στα βήματα για τη δημιουργία και ανάγνωση εγγράφων του Excel, καθώς και για τη χρήση γραμματοσειρών και στυλ κυττάρων - όλα χρησιμοποιώντας Java

Σημείωση: Μπορείτε να κατεβάσετε τον πηγαίο κώδικα για όλα τα παραδείγματα αυτού του άρθρου από τους πόρους.

Ορολογία POI

Οι βασικοί όροι που σχετίζονται με το Jakarta POI είναι οι εξής:

  • POIFS (Σύστημα αρχείων εφαρμογής κακής συσκότισης): Java APIs για ανάγνωση και γραφή OLE (Object Linking and Embedding) 2 σύνθετες μορφές εγγράφων
  • HSSF (Φρικτή μορφή υπολογιστικού φύλλου): Java API για ανάγνωση του Microsoft Excel
  • HDF (Φρικτή μορφή εγγράφου): Java API για ανάγνωση και εγγραφή του Microsoft Word 97
  • HPSF (Φρικτή μορφή συνόλου ιδιοκτησίας): Java API για ανάγνωση συνόλων ιδιοτήτων χρησιμοποιώντας (μόνο) Java

Δημιουργήστε ένα έγγραφο Excel

Το Jakarta POI API μπορεί να χρησιμοποιηθεί για τη δημιουργία ενός εγγράφου Excel μέσω προγραμματισμού. Τα σημαντικά βήματα που εμπλέκονται είναι:

  • Δημιουργήστε ένα βιβλίο εργασίας: Βιβλίο εργασίας HSSFWorkbook = νέο βιβλίο εργασίας HSSFWork ();
  • Δημιουργήστε ένα νέο φύλλο εργασίας στο βιβλίο εργασίας και ονομάστε το φύλλο εργασίας "Java Excels": Φύλλο HSSFSheet = workbook.createSheet ("Java Excels");
  • Δημιουργήστε μια νέα σειρά στο φύλλο: HSSFRow σειρά = sheet.createRow ((σύντομη) 0);
  • Δημιουργήστε ένα κελί στη σειρά: HSSFCell κελί = row.createCell ((σύντομη) 0);
  • Βάλτε κάποιο περιεχόμενο στο κελί: cell.setCellValue ("Έχετε ένα φλιτζάνι XL");
  • Γράψτε το βιβλίο εργασίας στο σύστημα αρχείων: workbook.write (fileOutputStream);

Διαβάστε δεδομένα από το έγγραφο του Excel

Σε αυτό το παράδειγμα, θα δείτε πώς μπορείτε να διαβάσετε τιμές από ένα έγγραφο του Excel.

Ας υποθέσουμε ότι αυτό είναι το φύλλο Excel:

όνομα υπαλλήλουΕιδίκευσηΟνομασία
ΑνμπούΠρογραμματισμόςΑνώτερος προγραμματιστής
ΙάσοναςΤραπεζική βιομηχανίαΕπιχειρηματικός αναλυτής
ΡαμέςΒάσεις δεδομένωνDBA
MackyBΛογιστικήΕπικεφαλής παράδοσης

Τα βασικά βήματα για την ανάγνωση του φύλλου του Excel είναι τα εξής:

  • Δημιουργία νέας αναφοράς εγγράφου Excel: Βιβλίο εργασίας HSFWorkbook = νέο HSSFWorkbook (νέο FileInputStream (fileToBeRead));.
  • Ανατρέξτε στο φύλλο: Από προεπιλογή, το πρώτο φύλλο στο έγγραφο του Excel βρίσκεται στην αναφορά 0: Φύλλο HSSFSheet = workbook.getSheetAt (0);. Ένα φύλλο μπορεί επίσης να αναφέρεται με το όνομα. Ας υποθέσουμε ότι το φύλλο Excel έχει το προεπιλεγμένο όνομα "Sheet1". Μπορεί να αναφέρεται ως εξής: Φύλλο HSSFSheet = workbook.getSheet ("Sheet1");.
  • Ανατρέξτε σε μια σειρά: HSSFRow σειρά = sheet.getRow (0);.
  • Ανατρέξτε σε ένα κελί στη σειρά: HSSFCell κελί = row.getCell ((σύντομη) 0);.
  • Λάβετε τις τιμές σε αυτό το κελί: cell.getStringCellValue ();.

Ένα πρακτικό παράδειγμα

Τώρα ας υποθέσουμε ότι θέλουμε να δούμε τη λίστα με όλες τις δηλωμένες μεθόδους και τις μεταβλητές μελών σε ένα αρχείο jar. Θα ήταν ιδανικό να έχουμε μια συγκεντρωτική λίστα όλων των πληροφοριών σε ένα μόνο αρχείο. Θα θέλαμε να δούμε τις πληροφορίες έτσι ώστε τα ονόματα των τάξεων να βρίσκονται στην πρώτη στήλη, τα δηλωμένα πεδία στη δεύτερη στήλη και οι δηλωμένες μέθοδοι στην τρίτη στήλη, με τις επικεφαλίδες των στηλών να εμφανίζονται με κόκκινο χρώμα.

Το πρόγραμμα θα πρέπει να ολοκληρώσει τις ακόλουθες δραστηριότητες:

  • Αποσυμπιέστε το αρχείο βάζου
  • Διαβάστε όλα τα αρχεία classfile στο αρχείο βάζων
  • Φόρτωση των τάξεων στο αρχείο βάζων
  • Χρησιμοποιώντας το προβληματισμό, λάβετε τις δηλωμένες μεθόδους και πεδία
  • Γράψτε τις πληροφορίες της τάξης σε ένα φύλλο Excel χρησιμοποιώντας το Jakarta POI

Ας επικεντρωθούμε μόνο στα ενδιαφέροντα βήματα της χρήσης του Jakarta POI:

  • Δημιουργήστε ένα νέο έγγραφο Excel: βιβλίο εργασίας = νέο βιβλίο εργασίας HSSF ();
  • Δημιουργήστε ένα φύλλο εργασίας σε αυτό το έγγραφο και δώστε ένα όνομα στο φύλλο εργασίας: sheet = workbook.createSheet ("Πληροφορίες κλάσης Java");
  • Ορίστε τα πλάτη των τριών πρώτων στηλών: sheet.setColumnWidth ((σύντομη) 0, (σύντομη) 10000);
  • Δημιουργήστε τη γραμμή κεφαλίδας: HSSFRow σειρά = sheet.createRow ((σύντομη) 0);
  • Δημιουργία και ρύθμιση στυλ γραμματοσειράς και κελιού:
     HSSFFont font = workbook.createFont (); font.setColor (HSSFFont.COLOR_RED); font.setBoldweight (HSSFFont.BOLDWEIGHT_BOLD); // Δημιουργήστε το στυλ HSSFCellStyle cellStyle = workbook.createCellStyle (); cellStyle.setFont (γραμματοσειρά); 
  • Χρησιμοποιήστε το στυλ κελιού:
     HSSFCell κελί = row.createCell ((σύντομη) 0); cell.setCellStyle (cellStyle); cell.setCellType (HSSFCell.CELL_TYPE_STRING); cell.setCellValue ("Όνομα κλάσης"); 
  • Γράψτε το αρχείο εξόδου:
     FileOutputStream fOut = νέο FileOutputStream (outputFile); // Γράψτε το βιβλίο εργασίας του φύλλου Excel.write (fOut); fOut.flush (); // Σύμφωνοι. Κλείστε το. fOut.close (); 

Περίληψη

Όπως αποδεικνύεται σε αυτό το άρθρο, οι προγραμματιστές Java δεν χρειάζεται πλέον να περιπλανηθούν σε δεδομένα σε φύλλα Excel. Μπορούμε να προσπελάσουμε μέσω προγραμματισμού έγγραφα του Excel. Απολαύστε ένα φλιτζάνι Java και υπερέχετε στο Excel!

Το Elango Sundaram είναι ένας έμπειρος προγραμματιστής Java με ερευνητικά ενδιαφέροντα σε κατανεμημένη αρχιτεκτονική υπολογιστών, τεχνολογία βασισμένη σε πράκτορες και αντικειμενοστρεφή μεθοδολογία. Είναι κάτοχος μεταπτυχιακού τίτλου στην επιστήμη των υπολογιστών από το Virginia Tech University και έχει γράψει Κατανεμημένο υπολογιστικό υπολογιστή χρησιμοποιώντας Jini και Websphere Studio Application Tail Plug-in (για WSAD 4.0)

Μάθετε περισσότερα σχετικά με αυτό το θέμα

  • Κατεβάστε τον πηγαίο κώδικα που συνοδεύει αυτό το άρθρο

    //images.techhive.com/downloads/idge/imported/article/jvw/2004/03/jw-0322-poi.zip

  • Ο ιστότοπος της Jakarta POI

    //jakarta.apache.org/poi/

  • Για περισσότερα σχετικά με το POI, διαβάστε το "It's POI-fect", Tony Sintes (JavaWorld, Μάιος 2002)

    //www.javaworld.com/javaworld/javaqa/2002-05/01-qa-0503-excel3.html

  • Για περισσότερα εργαλεία Java, περιηγηθείτε στο Εργαλεία ανάπτυξης τμήμα του JavaWorld 'Τοπ Ευρετήριο

    //www.javaworld.com/channel_content/jw-tools-index.shtml

  • Για περισσότερα άρθρα σχετικά με τα εργαλεία ανοιχτού κώδικα, ανατρέξτε στο Erik Swenson Προφίλ ανοιχτού κώδικα στήλη

    //www.javaworld.com/columns/jw-opensource-index.shtml

Αυτή η ιστορία, "Excelling in Excel with Java" δημοσιεύθηκε αρχικά από το JavaWorld.