Excel java keresztül apache poi

Excel java keresztül apache poi

Ebben a cikkben megtudhatja az írása és olvasása adatokat Excel fájlokat Java (figyelembe kell venni, mint egy XLS. És XLSX- formátum). Fogjuk használni Apache POI könyvtár és összpontosítani dolgozik a típusú karakterlánc és időpontja. Bízza a legújabb történik elég trükkös. Hadd emlékeztessem önöket, hogy a munkát a számok már tárgyal egy másik cikkben.

Könyvtár POI-XX.jar használhatja a régi (xls. Doc. PPT) Microsoft Office fájlokat az új (xlsx. Docx. Pptx), akkor meg kell poi-OOXML-XX.jar. Fontos megérteni, hogy mi az, ami aggasztó, mert használt osztályok különböző is - az idősebb kiterjesztések HSSFWorkbook. és az új - XSSFWorkbook.

Elkészítés: betöltés könyvtárak és a függőségek

Persze, sok nyílt forráskódú könyvtárakat, amelyek lehetővé teszik, hogy a munka az Excel fájlokat Java például JXL, de fogjuk használni, amely a legszélesebb körű API, és a legnépszerűbb - Apache POI. A használatához le kell töltenie jar fájlokat, és add hozzá az Eclipse kézzel, vagy hagyhatja, hogy Maven.

A második esetben, egyszerűen meg kell adni a következő két függőségeket:

A legkényelmesebb Maven - akkor letölti nem csak a megadott poi.jar és POI-ooxml.jar. de a jar fájlokat belsőleg használt, azaz XMLBeans-2.6.0.jar. STAX-api-1.0.1.jar. POI-OOXML-sémák-3.12.jar és commons-codec-1.9.jar.

Ha kézzel ad a könyvtár - ne feledkezzünk meg a fent említett fájlokat. Töltsd le az összes lehetséges innen. Ne feledje - ha csak POI-XX.jar. akkor a kód lefordul hiba nélkül, de aztán esik java.lang.NoClassDefFoundError: org / apache / XMLBeans / XmlObject. mivel a belső fogják hívni xmlbeans.jar.

Ebben a példában írunk az XLS fájlban a következő adatokat: az első cella - a karakterlánc nevét, és a második - a születési dátum. Itt van lépésről lépésre:

  • Az objektum létrehozása HSSFWorkBook;
  • Készítsen egy lapot használva a létrehozott objektum az előző lépésben, createSheet ();
  • Ahhoz, hogy hozzon létre egy karakterlánc lapot használva createRow ();
  • ami egy sejtvonal - createCell ();
  • Kérés cellaérték keresztül setCellValue ();
  • Írunk a munkafüzetet a File keresztül FileOutputStream;
  • Bezárja a munkafüzetet. okozva szoros ().

Írni egy string vagy egy szám, ami elég, de rögzíti a dátumot, tennünk kell valamit:

  • Készítsen DateFormat;
  • Készítsen CellStyle;
  • Vedd DateFormat a CellStyle;
  • Vedd CellStyle a sejt;
  • Most ebben a cellában írhatjuk át a Date objektum ugyanaz setCellValue;
  • A mai napig illik egy sejtbe, mi kell hozzá egy oszlopot tulajdonság automatikusan átméretezi: sheet.autoSizeColumn (1).

Mindez együtt fog kinézni:

Most úgy gondoljuk, az újonnan létrehozott fájlt, amit ott felvett.

  • Először hozzon létre HSSFWorkBook. halad a FileInputStream kivitelező;
  • Egy lap, múló getSheet () a szám vagy név;
  • Kapjuk a húr segítségével getRow ();
  • Kapunk sejt alkalmazásával getCell ();
  • Ismerje meg a sejttípus, használ neki getCellType ();
  • Attól függően, hogy milyen típusú sejt, olvassa el annak értékeit használva getStringCellValue (). getNumericCellValue () vagy getDateCellValue ();
  • Bezárja a munkafüzetet a close ().

Hadd emlékeztessem önöket, hogy az Excel tárolja nyúlik a számok, azaz sejttípus továbbra CELL_TYPE_NUMERIC.

A forma-kód, akkor a következőképpen néznek ki:

Összefoglalva

Kapcsolódó cikkek