Hur man arbetar med kärncelloperationer i Java
Översikt
Klassen Cell är den grundläggande enheten för att lagra och läsa kalkylbladsdata. Denna guide täcker lagring av typade värden, typinspektion, lagring av formler och åtkomst till strängvärden.
Lagring av typade värden
Cell.putValue() accepterar sex Java-typer: String, int, double, boolean, LocalDateTime och Object. Varje anrop lagrar värdet och bestämmer CellValueType som returneras av cell.getType(). Använd den typade överlagringen som matchar data — att anropa putValue(int) lagrar ett heltal som återgår utan att få en decimalpunkt:
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");
}Inspektion av värdetyp
Anropa cell.getType() för att få enum-värdet CellValueType för vilket lagrat värde som helst. Använd cell.getStringValue() för att få en språkoberoende strängrepresentation oavsett underliggande typ:
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");
}Lagring av formler
Anropa cell.setFormula() med en standard Excel-formelsträng. Celletypen ändras till CellValueType.FORMULA och formeln bevaras i XLSX-filen; Excel beräknar om resultatet när filen öppnas:
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");
}