Apache POI-XSSF
Nyílt forráskódú Java API Microsoft® Excel XLSX fájlokhoz
Excel XLSX táblázatok létrehozása, szerkesztése és konvertálása CSV és HTML fájlformátumokká a Java Library segítségével.
Mi az Apache POI-XSSF?
Az Apache POI-XSSF az Excel 2007 XLSX fájlformátum tiszta Java implementációja. Az API eljárásokat biztosít az Excel XLSX fájlok létrehozására, olvasására, módosítására és írására. Alacsony szintű építményeket biztosít a speciális igényűek számára. Ezenkívül egy eseménymodell API-t is biztosít a hatékony csak olvasható hozzáféréshez, valamint egy teljes felhasználói modell API-t az XLSX-fájlok létrehozásához, olvasásához és módosításához. Az Apache POI-XSSF nagyszerű támogatást nyújt a további Excel funkciókhoz, mint például a munkalapokkal, képletekkel, cellastílusok létrehozása színek és szegélyek kitöltésével, betűtípusok, fejlécek és láblécek, alakzatok, adatellenőrzések, képek, hiperhivatkozások és még sok más.
Az Apache POI XSSF használatának megkezdése
Először is telepítenie kell a Java Development Kit-et (JDK) a rendszerére. Ha már rendelkezik vele, lépjen az Apache POI letöltési oldalára, hogy a legújabb stabil kiadást egy archívumban kapja meg. Csomagolja ki a ZIP fájl tartalmát bármely olyan könyvtárból, ahonnan a szükséges könyvtárak a Java programhoz kapcsolhatók. Ez minden!
Az Apache POI hivatkozás a Maven-alapú Java projektben még egyszerűbb. Mindössze annyit kell tennie, hogy hozzáadja a következő függőséget a pom.xml fájlhoz, és hagyja, hogy az IDE letöltse és hivatkozzon az Apache POI Jar fájlokra.
Apache POI Maven függőség
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
Hozzon létre nagy Excel-táblázatokat a Java API segítségével
Az Apache POI XSSF alacsony memóriaigényt kínál az SXSSF API-n keresztül az MS Excel-fájlokba írt nagy adatok kezelésére. Ez lehetővé teszi nagyon nagy fájlok írását anélkül, hogy kimerülne a memória, mivel a soroknak egyszerre csak egy konfigurálható része marad a memóriában. A POI-SXSSF úgy éri el, hogy kevés a memóriaigénye, ha korlátozza a hozzáférést a csúszóablakon belüli sorokhoz, míg az XSSF hozzáférést biztosít a dokumentum összes sorához. A régebbi sorok, amelyek már nincsenek az ablakban, elérhetetlenné válnak, mivel a lemezre íródnak. A következő lépésekkel létrehozhat egy nagyméretű Excel fájlt java-ban
Hozzon létre nagy Excel fájlt Java segítségével
- Hozzon létre egy új SXSSF-munkafüzetet, és tartson 100 sort a memóriában, a több sorok a lemezre kerülnek
- Hozzon létre egy új munkalapot a createSheet() metódussal
- Szúrjon be adatokat 2000 sorba és 2000 cellába a createRow(), a createCell() és a setCellValue("Saját adatai") használatával, valamint egy beágyazott ciklussal
- Mentse a fájlt a FileOutputStream() segítségével, és adja meg a kimeneti fájl nevét
- Írjon fájlba az SXSSFWorkbook.Write() metódussal, és adja meg a FileOutputStream paramétert
Hozzon létre egy nagy Excel fájlt
// 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-k Excel-munkafüzet-készítéshez és munkalapok kiegészítéséhez
Az Apache POI XSSF lehetővé teszi a programozók számára, hogy új Excel-munkafüzetet hozzanak létre XLSX fájlformátumban. Miután a fejlesztők létrehozták a munkafüzetet, a munkalapok a munkafüzet egy létező példányából jönnek létre, és az újonnan létrehozott munkalap egymás után automatikusan hozzáadódik a munkafüzethez.
Hozzon létre Excel-munkafüzetet és adjon hozzá lapokat
// 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);
Konvertálja az Excel-táblázatot CSV és egyéb fájlformátumokká
A Java fejlesztők és programozók az Apache POI XSSF API segítségével könnyedén konvertálhatnak egy Excel-táblázatot CSV-fájlformátumba. A CSV a Comma-Separated-Values rövidítése, és egy nagyon gyakori formátum, amelyet számos alkalmazás közötti adatcserére használnak. Először is, a fejlesztőknek el kell olvasniuk a bemeneti XLS-fájlt az Apache POI XSSF API-val, majd a kivont információkat CSV-fájlokba kell írniuk.
Az XLSX konvertálása CSV-re
// 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 fejlesztés fejlécekhez és láblécekhez
Az Apache POI XSSF képes kezelni az első oldal fejléceit és lábléceit, valamint a páros/páratlan fejléceket és lábléceket. A fejlécek és láblécek nagyon fontos részét képezik az Excel-táblázatoknak. Általában olyan kiegészítő információkat tartalmaz, mint a dátumok, oldalszámok, a szerző neve és lábjegyzetek, amelyek segítenek a hosszabb dokumentumok rendszerezésében és könnyebben olvashatóságában. Az összes fejléc/lábléc tulajdonságjelző kezelhető XSSF-ben. A páratlan fejléc és lábléc az alapértelmezett fejléc és lábléc. Megjelenik minden olyan oldalon, amelyen nem jelenik meg sem az első, sem a páros oldalas fejléc.
Cellák egyesítése és szövegkivonás az Excel XLSX fájlokon belül
Az Apache POI XSSF olyan képességet biztosít, amely lehetővé teszi a Java programozók számára, hogy több cellát egyetlen cellává egyesítsenek egy Excel-táblázaton belül. Olyan módszereket tartalmaz, amelyek a cellaindexeket veszik argumentumként, és egyesítik a cellákat egyetlen nagy cellává. Az egyik legigényesebb funkció az a képesség, hogy XLSX fájlból szöveget bontsanak ki, és az Ön igényei szerint használják fel. Az Apache POI alapszintű szövegkivonatot biztosított a projekt által támogatott összes fájlformátumhoz. A fejlett szövegkivonási igények kielégítésére, beleértve a Rich Text kivonást (például formázást és stílust), valamint az XML- és HTML-kimenetet, az Apache POI szorosan együttműködik az Apache Tikával, hogy POI-alapú Tika elemzőket szállítson a projekt által támogatott összes fájlformátumhoz.