Úvod

Aspose.Cells FOSS pro Java je čistá Java 17, knihovna licencovaná pod MIT, určená pro vytváření a manipulaci s Excel .xlsx sešity bez jakékoli závislosti na Microsoft Office. Tento příspěvek provádí nejčastější operace správy tabulek: vytváření sešitů, načítání souborů, práce s buňkami a ukládání výsledků.

Rychlý start

Přidejte Maven závislost do vašeho pom.xml, abyste mohli začít:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-cells-foss</artifactId>
  <version>26.5.0</version>
</dependency>

Nejsou vyžadovány žádné licenční soubory ani klíč API. Knihovna je plně open-source pod licencí MIT.


Vytvoření sešitu

Konstruktor Workbook() vytvoří nový, prázdný sešit s jedním výchozím listem:

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Worksheet;

Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
System.out.println(sheet.getName()); // Sheet1

Použijte WorksheetCollection.add(sheetName) k přidání pojmenovaných listů a removeAt(sheetName) k jejich odebrání:

int idx = workbook.getWorksheets().add("Report");
workbook.getWorksheets().get(idx).setName("Report");
workbook.getWorksheets().removeAt("Sheet1");

Načtení existujícího souboru

Předávejte cestu k souboru do Workbook(fileName), abyste otevřeli existující sešit .xlsx:

Workbook workbook = new Workbook("data/report.xlsx");
System.out.println("Sheets: " + workbook.getWorksheets().getCount());

Pro vstupní proudy (např. z databáze nebo odpovědi HTTP) použijte Workbook(stream):

try (java.io.InputStream is = new java.io.FileInputStream("data/report.xlsx")) {
    Workbook workbook = new Workbook(is);
}

Čtení a zápis buněk

Worksheet.getCells() vrací kolekci Cells. Přistupujte k jednotlivým buňkám podle názvu nebo podle nulového řádkového/sloupcového indexu:

import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;

WorksheetCollection sheets = workbook.getWorksheets();
Cells cells = sheets.get(0).getCells();

// Write by cell name
cells.get("A1").putValue("Product");
cells.get("B1").putValue("Revenue");

// Write by row/column index
cells.get(1, 0).putValue("Widget A");   // A2
cells.get(1, 1).putValue(45000);        // B2

// Read back
String name = cells.get("A2").getStringValue();
Object rev  = cells.get("B2").getValue();
System.out.println(name + ": " + rev);

Nastavování vzorců

Použijte Cell.setFormula() k uložení řetězce vzorce do buňky. Vzorec je vyhodnocen při uložení a opětovném načtení sešitu:

cells.get("B3").setFormula("=SUM(B2:B2)");
System.out.println(cells.get("B3").getFormula()); // =SUM(B2:B2)

Výsledky vzorce jsou vyřešeny při uložení a opětovném načtení sešitu.


Ukládání sešitu

Workbook.save(fileName) zapisuje sešit; formát je určen příponou souboru (.xlsx vytváří soubor Excel 2007+):

workbook.save("output/result.xlsx");

Vždy obalte velké sešity do try-with-resources, aby byly souborové handlery rychle uvolněny:

try (Workbook workbook = new Workbook("data/input.xlsx")) {
    workbook.getWorksheets().get(0).getCells().get("A1").putValue("Updated");
    workbook.save("data/output.xlsx");
}

Co prozkoumat dál

Aspose.Cells FOSS pro Java zahrnuje API pro operace na úrovni listu, které přesahují manipulaci s buňkami:

  • Ochrana listu: protect() / unprotect() on Worksheet
  • AutoFilter: Worksheet.getAutoFilter() pro programové filtrování dat
  • Styly buněk: Cell.getStyle() / setStyle() with Style properties
  • Sloučené buňky: Cells.merge(firstRow, firstColumn, totalRows, totalColumns)

Pro kompletní API průvodce, viz průvodce pro vývojáře a API reference.

Začínáme

Výše uvedené příklady pokrývají nejčastější úkoly správy tabulek v Aspose.Cells FOSS pro Java. Pro kompletní API průvodce včetně validace, grafů a formátování, viz průvodce pro vývojáře.

Související zdroje