Spreadsheet Management ile Çalışma
Spreadsheet Management ile Çalışma
Bu kılavuz, Excel çalışma kitaplarını nasıl oluşturacağınızı, yüklediğinizi, değiştirdiğinuzu ve kaydetmeninizi gösterir.Cells FOSS for Java. Workbook, WorksheetCollection, Worksheet, Cells,ve Cell End-to-end spreadsheet yönetimi için sınıflar.
Yeni bir çalışma kitabı oluşturmak
boş bir çalışma kitabı oluşturmak için argüman olmayan yapılandırıcı kullanın. tek boş çalışma sayfası Adı : Sheet1 otomatik olarak eklendi.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.WorksheetCollection;
import com.aspose.cells.foss.Worksheet;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
System.out.println("Sheet name: " + sheet.getName()); // Sheet1Bir dosyadan bir çalışma kitabı yüklemek
Dosya yolunu geçin, Workbook(fileName) Mevcut bir yapı açmak için .xlsx veya .ods Dosya Kullanımı Workbook(fileName, options) tedarik etmek için LoadOptions İhtiyacınız olduğunda Şifre veya şifrenin işlenmesini kontrol etmek.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.LoadOptions;
// Simple load
Workbook workbook = new Workbook("data/report.xlsx");
// Load with explicit options
LoadOptions opts = new LoadOptions();
Workbook workbookWithOpts = new Workbook("data/report.xlsx", opts);Bir çalışma kitabını bir akımdan yüklemek
Workbook(stream) ve Workbook(stream, options) kabul eden herhangi bir java.io.InputStream. Bu, dosyanın bir ağ kaynağından, bir veritabanı BLOB’dan veya bir In-memory byte array ile ilgili bilgiler.
import com.aspose.cells.foss.Workbook;
import java.io.FileInputStream;
import java.io.InputStream;
try (InputStream is = new FileInputStream("data/template.xlsx")) {
Workbook workbook = new Workbook(is);
System.out.println("Worksheets: " + workbook.getWorksheets().getCount());
}İşletme Sayfalarına Erişim ve Yönetimi
Workbook.getWorksheets() geri döner a WorksheetCollection.• Indeks veya indekslere göre yapıştırın. Adına göre, tüm yaprakları iterate ve gerektiğinde yaprağı ekleyin veya kaldırın.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.WorksheetCollection;
import com.aspose.cells.foss.Worksheet;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
// Access by index
Worksheet first = sheets.get(0);
System.out.println(first.getName()); // Sheet1
// Add a named sheet
int idx = sheets.add("Summary");
Worksheet summary = sheets.get(idx);
summary.setName("Summary");
// Iterate all sheets
for (Worksheet ws : sheets) {
System.out.println("Sheet: " + ws.getName());
}
// Remove a sheet by name
sheets.removeAt("Sheet1");
System.out.println("Remaining sheets: " + sheets.getCount());Okuma ve Yazma Hücre Değerleri
Bir hücreye giden yolda navigasyon yapın Worksheet.getCells(),A’ya geri dönen Cells Koleksiyonu için. Retrade A Cell Adı : Örneğin. "A1"0 tabanlı satır/kolon indeksi ile kullanılır. putValue() Başlangıç değerleri ve getValue() / getStringValue() okumak için Onları geri.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Worksheet;
import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
Cells cells = sheet.getCells();
// Write values
cells.get("A1").putValue("Product");
cells.get("B1").putValue("Units Sold");
// Write by row/column index (0-based)
Cell a2 = cells.get(1, 0);
a2.putValue("Widget A");
Cell b2 = cells.get(1, 1);
b2.putValue(1200);
// Read back
System.out.println(a2.getStringValue()); // Widget A
System.out.println(b2.getValue()); // 1200Cell Formulasını Kurmak
Bir hücreye bir formül çubuğu atamak için setFormula().Aspose.Cells formülleri değerlendiriyor İş kitabı kaydedildiğinde veya hesaplama açıkça başlatıldığında.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Cells cells = sheets.get(0).getCells();
cells.get("A1").putValue(100);
cells.get("A2").putValue(200);
Cell a3 = cells.get("A3");
a3.setFormula("=SUM(A1:A2)");
System.out.println("Formula: " + a3.getFormula()); // =SUM(A1:A2)Bir çalışma kitabı tasarrufu
Kullanım Workbook.save(fileName) Yazı yazma iş kitabını disk için. çıkış biçimi Dosya uzantısı ile belirlenir; kullanımı .xlsx Excel çalışma kitapları için.
import com.aspose.cells.foss.Workbook;
Workbook workbook = new Workbook();
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello");
// Save to file -- format inferred from .xlsx extension
workbook.save("output/result.xlsx");Kaynakların serbest bırakılması
Workbook Uygulamalar AutoCloseable.• Bir try-with kaynak blok kullanarak, Workbook’un iç kaynakları kullanımdan hemen sonra serbest bırakılır.
import com.aspose.cells.foss.Workbook;
try (Workbook workbook = new Workbook("data/large.xlsx")) {
workbook.save("output/large_modified.xlsx");
}
// workbook.close() called automaticallyİpuçları ve En İyi Uygulamalar
- (Her zaman deney- ile kaynakları kullanın)
try (Workbook wb = new Workbook(...))(Büyük için Dosya tutmayı önlemek için dosyaları açmak. - Prefer
cells.get(row, column)Üzerinecells.get(cellName)Sıcak havalarda; The Tüm aşırı yükleme tekrarlayan hücre adı parsong önler. - Call
workbook.getWorksheets().getCount()indekslere ulaşmadan önce,IndexOutOfBoundsException. - Yazılarınızı açıkça belirtin
setName()sonraadd()Downstream kodu ile ilgili Bunları, kırılgan bir indekse değil isimle bakın. - Formül sonuçlarına hemen sonra güvenmeyin.
setFormula();Öncelikle kaydetmek ya da Aynı oturumda hesaplanan değerlere ihtiyacınız varsa yeniden yükleme.
ortak sorunlar
| Issue | Cause | Fix |
|---|---|---|
WorkbookLoadException Üzerinde new Workbook(fileName) | Dosya yolu yanlış veya dosya kilitlenmiş | Yolun var olduğunu ve okunabilir olduğunu kontrol edin; dosyayı tutan diğer uygulamaları kapatın. |
get(index) atışlar IndexOutOfBoundsException | Index’in ötesinde getCount() - 1 | Check sheets.getCount() Kullanım Öncesi; Kullanımı add() Yeni bir tablo oluşturmak için |
Formula hücresi boş döndü getValue() | -Kendini hesaplamayan formüller | Çalışma kitabını kaydedin ve formül sonuçları elde etmek için yeniden yükleme |
Dosya aralığı bozuldu sonra save() | Yanlış dosya uzantısı | Dosya adı ile sona erdiğinden emin olun. .xlsx;• Formatı genişlemeden çıkarılır. |
FAQ
Bir çalışma sayfası nasıl yeniden adlandırılır?
Retrade için Worksheet Index tarafından yapılan WorksheetCollection ve çağrı setName(name) Yeni Adı ile:
workbook.getWorksheets().get(0).setName("Sales Data");Bir çalışma kitabının kaç sayfasını nasıl kontrol edebilirim?
Call getCount() üzerinde de WorksheetCollection Geri döndü Workbook.getWorksheets() Toplam sayıda çalışma sayfası:
int count = workbook.getWorksheets().getCount();Bir çağrıda birden fazla sayfa ekleyebilir miyim?
No. Çağrı worksheets.add(sheetName) Her arama indeksleri geri getirir. Yeni oluşturulan bir tablo.
Bir hücre değerinin türünü nasıl kontrol edebilirim?
Retrade için Cell Adı ve Çağrı getType(),A’ya geri dönen CellValueType Enum değerleri :
Cell cell = cells.get("A1");
System.out.println(cell.getType()); // CellValueType enum valueAPI Referans Özetleri
| Sınıf / Yöntem | Description |
|---|---|
Workbook() | Bir beyaz sayfa ile boş bir çalışma kitabı oluşturur |
Workbook(fileName) | Bir dosya yolundan bir çalışma kitabı yükleme |
Workbook(stream) | Bir çalışma kitabı birden alınır InputStream |
Workbook(fileName, options) | Bir çalışma kitabı ile birlikte LoadOptions |
Workbook.getWorksheets() | Geri dönmek için WorksheetCollection |
Workbook.save(fileName) | Dosya için tasarruflar (genişletme ile sonuçlanan biçim) |
Workbook.save(stream, format) | Açıklama ile bir akım için tasarruf SaveFormat |
WorksheetCollection.get(index) | 0 bazlı indekslere göre geri döner. |
WorksheetCollection.get(name) | Adı ile geri döner |
WorksheetCollection.add(sheetName) | Adlandırılmış bir sayfa ekledi; indeksleri geri getiriyor |
WorksheetCollection.getCount() | Çalışma kitabında sayısız sayfalar |
WorksheetCollection.removeAt(sheetName) | Adına göre bir sayfa kaldırır |
Worksheet.getCells() | Geri dönmek için Cells Bu sayfa için koleksiyon |
Worksheet.getName() / setName() | Gece veya sayfa tab adı koyar |
Cells.get(cellName) | A’ya geri dönüyor Cell Adı : A1 (Örneğin “A1”) |
Cells.get(row, column) | A’ya geri dönüyor Cell 0 tabanlı satır / sütun |
Cell.putValue(value) | Hücreye değer yazar |
Cell.getValue() | Bu sayede hücre değerini okur. Object |
Cell.getStringValue() | Bu sayede hücre değerini bir String |
Cell.setFormula(formula) | Bir formül çubuğu (örneğin “=SUM(A1:A2)”) |
LoadOptions | Workbook Loading için yapılandırma |
SaveFormat | format sabitlerinin bir kısmı (format dosya uzantısından alınır; geçilmemiştir) save()) |