Giriş
Aspose.Cells FOSS for Java, Java 17 uygulamaları için kapsamlı bir elektronik tablo yetenekleri seti sunar. MIT lisansı altında yayınlanmış ve standart bir Maven artefakti olarak dağıtılan kütüphane, temel çalışma kitabı oluşturulmasından tiplenmiş hücre değerlerine, zengin biçimlendirmeye, veri doğrulamaya ve AutoFilter’a kadar her şeyi kapsar — tümü Microsoft Office bağımlılığı olmadan.
Bu gönderi, doğrulanmış API yüzeyinden alınan odaklı kod örnekleriyle ana özellik alanlarını gözden geçirir.
Aşağıda gösterilen tüm sınıf ve yöntem adları kütüphanede mevcuttur ve 1.0.0 sürümünde bulunur.
Ana Özellikler
Çalışma Kitabı ve Çalışma Sayfası Yönetimi
Workbook sınıfı AutoCloseable‘i uygular, böylece
Java try-with-resources deseniyle sorunsuz bir şekilde bütünleşir.
Boş bir çalışma kitabı oluşturabilir, mevcut bir .xlsx dosyasını yükleyebilir,
çalışma sayfalarının adını değiştirebilir, sayfa ekleyebilir veya kaldırabilir, etkin sayfayı ayarlayabilir ve sekme görünürlüğünü kontrol edebilirsiniz.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Q1 Report");
workbook.getWorksheets().addSheet("Summary");
workbook.save("report.xlsx");
}
Yazılmış Hücre Değerleri ve Formüller
Cell sınıfı, putValue() aracılığıyla String, int, double,
boolean ve LocalDateTime için tiplenmiş değerleri kabul eder. getType() yöntemi, CellValueType bir enum değeri — STRING, NUMBER, BOOLEAN, DATE_TIME veya FORMULA — döndürür; bu da değer tipine göre dize ayrıştırmadan dallanmayı kolaylaştırır. Formül dizeleri setFormula() ile saklanır ve Excel tarafından açıldığında yeniden hesaplanır.
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()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
// Check type
assert b1.getType() == CellValueType.NUMBER;
assert c1.getType() == CellValueType.FORMULA;
workbook.save("values.xlsx");
}
Hücre Biçimlendirme ve Stiller
Biçimlendirme, Style nesnesi aracılığıyla cell.getStyle()‘den alınır ve cell.setStyle() ile geri yazılır. Font alt‑nesnesi setBold() ve setColor()‘yi ortaya çıkarır. HorizontalAlignment metin hizalamasını kontrol eder — LEFT, CENTER veya RIGHT. Özel sayı biçimleri, style.setCustom() aracılığıyla Excel biçim dizesi kullanır. Satır yüksekliği ve sütun genişliği, getRows().get(n).setHeight() ve getColumns().get(n).setWidth() ile ayarlanır.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell cell = sheet.getCells().get("B1");
cell.putValue(9999.50);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(24.0);
sheet.getCells().getColumns().get(1).setWidth(16.0);
workbook.save("styled.xlsx");
}
Veri Doğrulama
Veri doğrulama kuralları sheet.getValidations().add() aracılığıyla eklenir. Her Validation nesnesi bir ValidationType alır (ör. WHOLE_NUMBER, DECIMAL, LIST) ve bir OperatorType (ör. BETWEEN, GREATER_THAN). Formül sınırları setFormula1() ve setFormula2() aracılığıyla dize olarak depolanır.
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
Validation validation = sheet.getValidations().get(vi);
validation.setType(ValidationType.WHOLE_NUMBER);
validation.setOperator(OperatorType.BETWEEN);
validation.setFormula1("1");
validation.setFormula2("100");
workbook.save("validated.xlsx");
}
AutoFilter
AutoFilters, son kullanıcıların Excel’de ekstra
yapılandırma olmadan veri filtrelemesine olanak tanır. ws.getAutoFilter().setRange()‘i A1 notasyonu aralığıyla çağırarak
filtre başlık satırını etkinleştirin. Ek filtre sütunları ve özel ölçütlerFilterColumn ve AutoFilterCustomFilter aracılığıyla tanımlanabilir.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.getCells().get("A1").putValue("Product");
sheet.getCells().get("B1").putValue("Qty");
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("filtered.xlsx");
}
Sayfa Ayarı ve Çalışma Sayfası Koruması
PageSetup sınıfı kağıt boyutunu, sayfa yönlendirmesini ve sayfaya sığdırma ayarlarını kontrol eder
baskıya hazır çıktı için.
Çalışma sayfası koruması protect() aracılığıyla birWorksheetProtectionModel ile uygulanır, belirli hücrelerin düzenlenebilir kalmasına izin verirken
geri kalanını kilitler. Hipermetin bağlantıları HyperlinkCollection aracılığıyla yönetilir.
Hızlı Başlangıç
Bağımlılığı pom.xml‘ye ekleyin:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Tüm ana özellikleri 20 satırın altında içeren bir çalışma kitabı oluşturun:
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class QuickStart {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Sales");
sheet.getCells().get("A1").putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Style style = b1.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
b1.setStyle(style);
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("sales.xlsx");
}
}
}
Desteklenen Biçimler
| Biçim | Uzantı | Okuma | Yazma |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Kaydetme şu anda .xlsx ile sınırlıdır. Kütüphane formülleri depolar ve yuvarlar, ancak tam bir elektronik tablo hesaplama motoru gibi çalışmaz.
Açık Kaynak ve Lisanslama
Aspose.Cells FOSS for Java MIT lisansı altında yayınlanmıştır. Kullanabilirsiniz, değiştirebilir ve kişisel, açık kaynak ve ticari projelerde sınırlama olmaksızın dağıtabilirsiniz. Kaynak kodu şu adreste github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.