Apache POI-XSSF 

 
 

Open Source Java API για Microsoft® Excel XLSX Files

Δημιουργήστε, επεξεργαστείτε και μετατρέψτε υπολογιστικά φύλλα Excel XLSX σε μορφές αρχείων CSV & HTML μέσω Java Library.

Τι είναι το Apache POI-XSSF;

Το Apache POI-XSSF είναι μια καθαρή υλοποίηση Java της μορφής αρχείου XLSX του Excel 2007. Το API παρέχει διαδικασίες για τη δημιουργία, την ανάγνωση, την τροποποίηση και τη σύνταξη αρχείων Excel XLSX. Παρέχει δομές χαμηλού επιπέδου για άτομα με ειδικές ανάγκες. Παρέχει επίσης ένα API μοντέλου συμβάντων για αποτελεσματική πρόσβαση μόνο για ανάγνωση, καθώς και ένα πλήρες μοντέλο API χρήστη για τη δημιουργία, την ανάγνωση και την τροποποίηση αρχείων XLSX. Το Apache POI-XSSF παρέχει εξαιρετική υποστήριξη για πρόσθετες λειτουργίες excel, όπως εργασία με φύλλα, τύπους, δημιουργία στυλ κελιών συμπληρώνοντας χρώματα και περιγράμματα, γραμματοσειρές, κεφαλίδες και υποσέλιδα, σχήματα, επικυρώσεις δεδομένων, εικόνες, υπερσυνδέσμους και πολλά άλλα.

Previous Next

Ξεκινώντας με το Apache POI XSSF

Πρώτα απ 'όλα, πρέπει να έχετε εγκατεστημένο το Java Development Kit (JDK) στο σύστημά σας. Εάν το έχετε ήδη, προχωρήστε στη σελίδα λήψης του POI του Apache για να λάβετε την πιο πρόσφατη σταθερή έκδοση σε ένα αρχείο. Εξαγάγετε τα περιεχόμενα του αρχείου ZIP σε οποιονδήποτε κατάλογο από όπου μπορούν να συνδεθούν οι απαιτούμενες βιβλιοθήκες με το πρόγραμμα Java σας. Αυτό είναι όλο!

Η αναφορά σε POI του Apache στο έργο Java που βασίζεται στο Maven είναι ακόμα πιο απλή. Το μόνο που χρειάζεστε είναι να προσθέσετε την ακόλουθη εξάρτηση στο pom.xml σας και να αφήσετε το IDE σας να ανακτήσει και να παραπέμψει τα αρχεία Apache POI Jar.

Apache POI Maven Dependency

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.0</version>
</dependency>

Δημιουργήστε μεγάλα υπολογιστικά φύλλα Excel χρησιμοποιώντας το Java API

Το Apache POI XSSF προσφέρει αποτύπωμα χαμηλής μνήμης μέσω SXSSF API για τη διαχείριση μεγάλων δεδομένων εγγραφής σε αρχεία MS Excel. Αυτό επιτρέπει τη σύνταξη πολύ μεγάλων αρχείων χωρίς να εξαντλείται η μνήμη, καθώς μόνο ένα τμήμα των σειρών με δυνατότητα διαμόρφωσης διατηρείται στη μνήμη ανά πάσα στιγμή. Το POI-SXSSF επιτυγχάνει το χαμηλό αποτύπωμα μνήμης του περιορίζοντας την πρόσβαση στις σειρές που βρίσκονται μέσα σε ένα συρόμενο παράθυρο, ενώ το XSSF παρέχει πρόσβαση σε όλες τις σειρές του εγγράφου. Οι παλαιότερες σειρές που δεν βρίσκονται πλέον στο παράθυρο γίνονται απρόσιτες, καθώς εγγράφονται στο δίσκο. Μπορείτε να δημιουργήσετε ένα μεγάλο αρχείο excel σε java ακολουθώντας τα παρακάτω βήματα

Δημιουργήστε μεγάλο αρχείο Excel χρησιμοποιώντας Java

  1. Δημιουργήστε ένα νέο SXSSFWorkbook και διατηρήστε 100 σειρές στη μνήμη, οι υπέρβαση των σειρών θα ξεπλυθούν στο δίσκο
  2. Δημιουργήστε ένα νέο φύλλο εργασίας χρησιμοποιώντας τη μέθοδο createSheet().
  3. Εισαγάγετε δεδομένα σε 2000 σειρές και 2000 κελιά χρησιμοποιώντας τα createRow(), createCell() και setCellValue("Τα δεδομένα σας") μέσα και έναν ένθετο βρόχο
  4. Αποθηκεύστε το αρχείο χρησιμοποιώντας FileOutputStream() και περάστε το όνομα αρχείου εξόδου
  5. Γράψτε στο αρχείο χρησιμοποιώντας τη μέθοδο SXSSFWorkbook.Write() και περάστε το FileOutputStream ως παράμετρο

Δημιουργήστε ένα μεγάλο αρχείο Excel

// create a new SXSSFWorkbook
SXSSFWorkbook wb = new SXSSFWorkbook(100);
Sheet sh = wb.createSheet();
// insert 2000 rows
for(int rownum = 0; rownum < 2000; rownum++){
    Row row = sh.createRow(rownum);
    // insert data in 20000 cells
    for(int cellnum = 0; cellnum < 10; cellnum++){
    Cell cell = row.createCell(cellnum);
    cell.setCellValue("Row Number: "+ rownum + " Cell Number: "+ cellnum);
    }
}
// save file
FileOutputStream out = new FileOutputStream("LargeDcument.xlsx");
wb.write(out);
out.close();

Java API για το Excel Δημιουργία βιβλίου εργασίας και προσθήκη φύλλων

Το Apache POI XSSF επιτρέπει στους προγραμματιστές υπολογιστών να δημιουργήσουν ένα νέο βιβλίο εργασίας του Excel σε μορφή αρχείου XLSX. Μόλις οι προγραμματιστές δημιουργήσουν το βιβλίο εργασίας, δημιουργούνται φύλλα εργασίας από μια υπάρχουσα παρουσία του βιβλίου εργασίας και το φύλλο που δημιουργήθηκε πρόσφατα προστίθεται αυτόματα διαδοχικά στο βιβλίο εργασίας.

Δημιουργήστε βιβλίο εργασίας του Excel και προσθέστε φύλλα

// create a new XLSX file
Workbook workbook = new XSSFWorkbook();
OutputStream outputStream = new FileOutputStream("CreateXlsx.xlsx");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new sheet
Row row   = sheet.createRow(1);
// create a new cell
Cell cell  = row.createCell(1);
// set cell value
cell.setCellValue("File Format Developer Guide");
// save file
workbook.write(outputStream);

Μετατρέψτε ένα υπολογιστικό φύλλο Excel σε CSV και άλλη μορφή αρχείου

Οι προγραμματιστές Java και οι προγραμματιστές μπορούν εύκολα να μετατρέψουν ένα υπολογιστικό φύλλο Excel σε μορφή αρχείου CSV χρησιμοποιώντας το Apache POI XSSF API. Το CSV σημαίνει Comma-Separated-Values και είναι μια πολύ κοινή μορφή που χρησιμοποιείται για την ανταλλαγή δεδομένων μεταξύ πολλών εφαρμογών. Πρώτον, οι προγραμματιστές πρέπει να διαβάσουν το αρχείο εισόδου XLS χρησιμοποιώντας το Apache POI XSSF API και στη συνέχεια να γράψουν τις εξαγόμενες πληροφορίες σε αρχεία CSV.

Μετατροπή XLSX σε CSV

// Open and existing XLSX file
FileInputStream fileInStream = new FileInputStream("LargeDocument.xlsx");
XSSFWorkbook workBook = new XSSFWorkbook(fileInStream);
XSSFSheet selSheet = workBook.getSheetAt(0);
// Loop through all the rows
Iterator rowIterator = selSheet.iterator();
while (rowIterator.hasNext()) {
    Row row = rowIterator.next();
    // Loop through all rows and add ","
    Iterator cellIterator = row.cellIterator();
    StringBuffer stringBuffer = new StringBuffer();
    while (cellIterator.hasNext()) {
    Cell cell = cellIterator.next();
    if (stringBuffer.length() != 0) {
        stringBuffer.append(",");
    }
    stringBuffer.append(cell.getStringCellValue());
    }
    System.out.println(stringBuffer.toString());
}
workBook.close();

Βελτίωση XSSF για κεφαλίδες και υποσέλιδα

Το Apache POI XSSF έχει τη δυνατότητα να χειρίζεται τις κεφαλίδες και τα υποσέλιδα της Πρώτης σελίδας, καθώς και τις κεφαλίδες και τα υποσέλιδα Ζυγών/Μονών. Οι κεφαλίδες και τα υποσέλιδα είναι ένα πολύ σημαντικό μέρος ενός υπολογιστικού φύλλου του Excel. Συνήθως περιέχει επιπλέον πληροφορίες, όπως ημερομηνίες, αριθμούς σελίδων, όνομα συγγραφέα και υποσημειώσεις, οι οποίες βοηθούν στο να διατηρούνται τα μεγαλύτερα έγγραφα οργανωμένα και πιο ευανάγνωστα. Όλες οι σημαίες Ιδιότητας Κεφαλίδας/Υποσέλιδου μπορούν να χειριστούν στο XSSF. Η περιττή κεφαλίδα και υποσέλιδο είναι η προεπιλεγμένη κεφαλίδα και υποσέλιδο. Εμφανίζεται σε όλες τις σελίδες που δεν εμφανίζουν ούτε κεφαλίδα πρώτης σελίδας ούτε κεφαλίδα ζυγής σελίδας.

Συγχώνευση κελιών και εξαγωγής κειμένου σε αρχεία Excel XLSX

Το Apache POI XSSF παρέχει τη δυνατότητα που επιτρέπει στους προγραμματιστές Java να συγχωνεύουν πολλαπλά κελιά σε ένα μόνο κελί μέσα σε ένα υπολογιστικό φύλλο Excel. Περιλαμβάνει μεθόδους που λαμβάνουν τα ευρετήρια κελιών ως όρισμα και συγχωνεύουν τα κελιά σε ένα μεγάλο κελί. Ένα από τα πιο απαιτητικά χαρακτηριστικά είναι η δυνατότητα εξαγωγής κειμένου από ένα αρχείο XLSX και χρήσης του σύμφωνα με τις ανάγκες σας. Το Apache POI έχει παράσχει βασική εξαγωγή κειμένου για όλες τις μορφές αρχείων που υποστηρίζονται από το έργο. Για προηγμένες ανάγκες εξαγωγής κειμένου, συμπεριλαμβανομένης της εξαγωγής εμπλουτισμένου κειμένου (όπως μορφοποίηση και στυλ), μαζί με έξοδο XML και HTML, το Apache POI συνεργάζεται στενά με το Apache Tika για την παροχή Tika Parsers με POI για όλες τις μορφές αρχείων που υποστηρίζονται από το έργο.

 Ελληνικά