Jak pracować z podstawowymi operacjami komórek w Java
Przegląd
Klasa Cell jest podstawową jednostką do przechowywania i odczytywania danych arkusza kalkulacyjnego. Ten przewodnik obejmuje przechowywanie wartości typowanych, inspekcję typu, przechowywanie formuł oraz dostęp do wartości tekstowych.
Przechowywanie wartości typowanych
Cell.putValue() akceptuje sześć typów Java: String, int, double, boolean, LocalDateTime i Object. Każde wywołanie przechowuje wartość i określa CellValueType zwracany przez cell.getType(). Użyj przeciążenia typowanego, które pasuje do danych — wywołanie putValue(int) przechowuje liczbę całkowitą, która przechodzi w obie strony bez dodawania punktu dziesiętnego:
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
Cell a1 = sheet.getCells().get("A1");
a1.putValue("Label"); // String
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42); // int
Cell c1 = sheet.getCells().get("C1");
c1.putValue(3.14); // double
Cell d1 = sheet.getCells().get("D1");
d1.putValue(true); // boolean
workbook.save("typed.xlsx");
}Sprawdzanie typu wartości
Wywołaj cell.getType(), aby uzyskać wartość wyliczenia CellValueType dla dowolnej przechowywanej wartości. Użyj cell.getStringValue(), aby uzyskać niezależną od ustawień regionalnych reprezentację jako ciąg znaków, niezależnie od podstawowego typu:
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
Cell b1 = sheet.getCells().get("B1");
b1.putValue(123);
CellValueType type = b1.getType();
System.out.println(type); // NUMBER
System.out.println(b1.getStringValue()); // "123"
workbook.save("inspect.xlsx");
}Przechowywanie formuł
Wywołaj cell.setFormula() z standardowym ciągiem formuły Excel. Typ komórki zmienia się na CellValueType.FORMULA, a formuła jest zachowywana w pliku XLSX; Excel przelicza wynik po otwarciu pliku:
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
Cell b1 = sheet.getCells().get("B1");
b1.putValue(100.0);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
workbook.save("formulas.xlsx");
}