Nastavenie vzorcov v programe Excel s Apache POI

1. Prehľad

V tomto rýchlom výučbe si povieme, ako môžeme nastaviť vzorce v tabuľke programu Microsoft Excel použitím Apache POI prostredníctvom jednoduchého príkladu.

2. Apache POI

Apache POI je populárna open-source knižnica Java, ktorá programátorom poskytuje API vytvárať, upravovať a zobrazovať MS Office súbory.

Používa to Pracovný zošit reprezentovať súbor Excel a jeho prvky. A Bunka v súbore Excel môžu mať rôzne typy ako napr FORMULA.

Aby sme videli Apache POI v akcii, nastavíme vzorec na odčítanie súčtu hodnôt v stĺpcoch A a B v súbore programu Excel. Prepojený súbor obsahuje nasledujúce údaje:

3. Závislosti

Najskôr musíme do nášho projektu pridať závislosť na POI pom.xml spis. Na prácu so zošitmi programu Excel 2007+ by sme mali používať poi-ooxml:

 org.apache.poi poi-ooxml 4.1.2 

Upozorňujeme, že pre staršie verzie programu Excel by sme mali používať poi namiesto toho závislosť.

4. Vyhľadávanie buniek

Na začiatok si najskôr otvorme náš súbor a vytvorme príslušný zošit:

FileInputStream inputStream = nový FileInputStream (nový súbor (fileLocation)); XSSFWorkbook excel = nový XSSFWorkbook (inputStream);

Potom, musíme vytvoriť alebo vyhľadať bunku, ktorú budeme používať. Pomocou údajov, ktoré sme zdieľali skôr, chceme upraviť bunku C1.

Nachádza sa na prvom hárku a prvom riadku a môžeme požiadať o BZ pre prvý prázdny stĺpec:

Hárok XSSFS = excel.getSheetAt (0); int lastCellNum = sheet.getRow (0) .getLastCellNum (); XSSFCell formulaCell = sheet.getRow (0) .createCell (lastCellNum + 1);

5. Vzorce

Ďalej chceme nastaviť vzorec na bunku, ktorú sme vyhľadali.

Ako už bolo uvedené, odčítajme súčet stĺpca B od súčtu stĺpca A. V Exceli by to bolo:

= SUM (A: A) -SUM (B: B)

A to môžeme zapísať do našej formulaCell s setCellFormula metóda:

formulaCell.setCellFormula ("SUMA (A: A) -SUM (B: B)");

Týmto sa tento vzorec nevyhodnotí. Aby sme to dosiahli, budeme musieť použiť POI XSSFFormulaEvaluator:

XSSFFormulaEvaluator formulaEvaluator = excel.getCreationHelper (). CreateFormulaEvaluator (); formulaEvaluator.evaluateFormulaCell (formulaCell);

Výsledok sa nastaví v prvom Bunka nasledujúceho prázdneho stĺpca:

Ako vidíme, výsledok sa vypočíta a uloží do prvej bunky stĺpca C. Na vzorcovom paneli sa zobrazí aj vzorec.

Všimnite si, že Hodnotiaci vzorec trieda nám poskytuje ďalšie metódy hodnotenia FORMULA v zošitoch programu Excel, napríklad vyhodnotiť všetko, Ktorý bude slučkou cez všetky bunky a vyhodnotí ich.

6. Záver

V tomto tutoriáli sme si ukázali, ako nastaviť vzorec na bunke v súbore Excel v Jave pomocou API Apache POI.

Kompletný zdrojový kód tohto článkuje k dispozícii na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found