Wprowadzenie

Aspose.Cells FOSS dla Java jest czystą biblioteką Java w wersji 17, na licencji MIT, służącą do tworzenia i manipulacji skoroszytami Excel .xlsx bez jakiejkolwiek zależności od Microsoft Office. Ten wpis omawia najczęstsze operacje zarządzania arkuszami kalkulacyjnymi: tworzenie skoroszytów, ładowanie plików, pracę z komórkami oraz zapisywanie wyników.

Szybki start

Dodaj zależność Maven do swojego pom.xml, aby rozpocząć:

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

Nie jest wymagany plik licencji ani klucz API. Biblioteka jest w pełni otwartoźródłowa na licencji MIT.


Tworzenie skoroszytu

Konstruktor Workbook() tworzy nowy, pusty skoroszyt z jednym domyślnym arkuszem:

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

Użyj WorksheetCollection.add(sheetName), aby dodać nazwane arkusze oraz removeAt(sheetName), aby je usunąć:

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

Ładowanie istniejącego pliku

Przekaż ścieżkę pliku do Workbook(fileName), aby otworzyć istniejący skoroszyt .xlsx:

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

Dla strumieni wejściowych (np. z bazy danych lub odpowiedzi HTTP), użyj Workbook(stream):

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

Odczytywanie i zapisywanie komórek

Worksheet.getCells() zwraca kolekcję Cells. Uzyskaj dostęp do poszczególnych komórek po nazwie lub po indeksie wiersza/kolumny zaczynającym się od zera:

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);

Ustawianie formuł

Użyj Cell.setFormula(), aby przechowywać ciąg formuły w komórce. Formuła jest obliczana, gdy skoroszyt zostaje zapisany i ponownie wczytany:

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

Wyniki formuły są rozwiązywane, gdy skoroszyt zostaje zapisany i ponownie wczytany.


Zapisywanie skoroszytu

Workbook.save(fileName) zapisuje skoroszyt; format jest określany przez rozszerzenie pliku (.xlsx tworzy plik Excel 2007+):

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

Zawsze otaczaj duże skoroszyty instrukcją try-with-resources, aby szybko zwalniać uchwyty plików:

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

Co warto zbadać dalej

Aspose.Cells FOSS dla Java zawiera interfejsy API do operacji na poziomie arkusza, wykraczających poza manipulację komórkami:

  • Ochrona arkusza: protect() / unprotect() on Worksheet
  • AutoFilter: Worksheet.getAutoFilter() dla programowego filtrowania danych
  • Style komórek: Cell.getStyle() / setStyle() with Style properties
  • Scalane komórki: Cells.merge(firstRow, firstColumn, totalRows, totalColumns)

Aby uzyskać pełny przegląd API, zobacz developer guide oraz API reference.

Rozpoczęcie

Powyższe przykłady obejmują najczęstsze zadania zarządzania arkuszami kalkulacyjnymi w Aspose.Cells FOSS dla Java. Aby uzyskać pełny przegląd API obejmujący walidację, wykresy i formatowanie, zobacz developer guide.

Powiązane zasoby