Az Excel Cell karakterláncának megszerzése az Apache POI segítségével
1. Áttekintés
Egy Microsoft Excel cellának különböző típusai lehetnek, például karakterlánc, numerikus, logikai és képlet.
Ebben a gyors bemutatóban megmutatjuk, hogyan lehet a cella értékét stringként olvasni - a cellatípustól függetlenül - az Apache POI segítségével.
2. Apache POI
Először is hozzá kell adnunk a poi függőséget a projektünkhöz pom.xml fájl:
org.apache.poi poi 4.1.1
Az Apache POI a Munkafüzet felületet egy Excel fájl ábrázolásához. Azt is használja Lap, Sor, és Sejt interfészek az Excel-fájl különböző szintjeinek modellezéséhez. A Sejt szinten használhatjuk getCellType () módszer a sejttípus megszerzéséhez. Az Apache POI a következő cellatípusokat támogatja:
- ÜRES
- BOOLAI
- HIBA
- KÉPLET
- NUMERIC
- HÚR
Ha meg akarjuk jeleníteni az Excel fájl tartalmát a képernyőn, akkor egy nyers érték helyett egy cella karakterlánc ábrázolását szeretnénk megkapni. Ebből kifolyólag, a nem STRING típusú cellák esetében az adataikat karakterlánc-értékekké kell átalakítanunk.
3. Szerezze be a cella karakterlánc értékét
Tudjuk használni DataFormatter lekérni az Excel cellájának karakterláncát. Formázott karakterlánc-ábrázolást kaphat a cellában tárolt értékről. Például, ha egy cella számértéke 1,234, és ennek a cellának a formátumszabálya két tizedespont, akkor a „1.23” karakterlánc-ábrázolást kapjuk:
Cellasejt = // numerikus cella 1,234 értékkel és "0,00" formátumszabályral DataFormatter formatter = új DataFormatter (); String strValue = formatter.formatCellValue (cella); assertEquals ("1,23", strValue);
Ezért az eredménye DataFormatter.formatCellValue () a megjelenítési karakterlánc pontosan úgy, ahogy az Excelben megjelenik.
4. Szerezzen be egy képletcella karakterláncát
Ha a cellatípus FORMULA, akkor az előző módszer a kiszámított képletérték helyett az eredeti képletsorozatot adja vissza. Ebből kifolyólag, hogy megkapjuk a képlet értékének karakterlánc-reprezentációját, használnunk kell FormulaEvaluator a képlet értékeléséhez:
Munkafüzet munkafüzet = // meglévő munkafüzet beállítása FormulaEvaluator értékelő = workbook.getCreationHelper (). CreateFormulaEvaluator (); Cellasejt = // képletcella "SUM (1,2)" értékkel DataFormatter formatter = új DataFormatter (); String strValue = formatter.formatCellValue (cella, kiértékelő); assertEquals ("3", strValue);
Ez a módszer általános minden sejttípusra. Ha a cellatípus FORMULA, akkor a megadott segítségével értékeljük FormulaEvaluator. Ellenkező esetben a karakterlánc reprezentációt értékelések nélkül adjuk vissza.
5. Összefoglalás
Ebben a gyors cikkben bemutattuk, hogyan lehet lekérni az Excel cellák karakterlánc-ábrázolását, annak típusától függetlenül. Mint mindig, a cikk forráskódja elérhető a GitHubon.