Indstilling af formler i Excel med Apache POI

1. Oversigt

I denne hurtige vejledning skal vi tale om, hvordan vi kan sæt formler i et Microsoft Excel-regneark ved brug af Apache IP gennem et simpelt eksempel.

2. Apache IP

Apache POI er et populært open source Java-bibliotek, der giver programmerere API'er til oprette, ændre og vise MS Office filer.

Det bruger Arbejdsbog at repræsentere en Excel-fil og dens elementer. EN Celle i en Excel-fil kan have forskellige typer såsom FORMEL.

For at se Apache POI i aktion skal vi indstille en formel til at trække summen af ​​værdierne i kolonne A og B i en Excel-fil. Den linkede fil indeholder nedenstående data:

3. Afhængigheder

Først skal vi tilføje POI-afhængighed til vores projekt pom.xml fil. For at arbejde med Excel 2007+ projektmapper skal vi bruge poi-ooxml:

 org.apache.poi poi-ooxml 4.1.2 

Bemærk, at vi til tidligere versioner af Excel skal bruge poi afhængighed i stedet.

4. Celleopslag

Lad os begynde med at åbne vores fil og konstruere den relevante projektmappe:

FileInputStream inputStream = ny FileInputStream (ny fil (fileLocation)); XSSFWorkbook excel = ny XSSFWorkbook (inputStream);

Derefter, vi er nødt til at oprette eller slå op i den celle, vi skal bruge. Ved hjælp af de tidligere delte data vil vi redigere celle C1.

Det er på det første ark og den første række, og vi kan bede POI om den første tomme kolonne:

XSSFSheet-ark = excel.getSheetAt (0); int lastCellNum = ark.getRow (0) .getLastCellNum (); XSSFCell formulaCell = sheet.getRow (0) .createCell (lastCellNum + 1);

5. Formler

Dernæst vil vi indstille en formel på den celle, vi har slået op.

Som nævnt tidligere, lad os trække summen af ​​kolonne B fra summen af ​​kolonne A. I Excel ville dette være:

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

Og det kan vi skrive i vores formulaCell med setCellFormula metode:

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

Nu vurderer dette ikke formlen. For at gøre det skal vi bruge interessepunkter XSSFFormulaEvaluator:

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

Resultatet indstilles i den første Celle af den næste tomme kolonne:

Som vi kan se, beregnes resultatet og gemmes i den første celle i kolonne C. Formlen vises også i formellinjen.

Bemærk, at Formelevaluator klasse giver os andre metoder til evaluering FORMEL i Excel-projektmapper, ligesom evaluereAlle, som vil løkke over alle celler og evaluere dem.

6. Konklusion

I denne vejledning viste vi, hvordan man indstiller en formel på en celle i en Excel-fil i Java ved hjælp af Apache POI API.

Den komplette kildekode til denne artikeler tilgængelig på GitHub.


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