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.