Giriş
Aspose.Cells FOSS for TypeScript, işlevselliğini şu kompakt temel sınıflar kümesi aracılığıyla sunar: Workbook, WorksheetCollection, Worksheet, Cell ve Style, ayrıca biçimlendirme ve filtreleme için destekleyici tipler. Bu gönderi, o temel API yüzeyinin sistematik bir turudur – tek bir dar konu değil, kütüphane üzerine inşa edilen her uygulamanın sonunda kullandığı temeller: çalışma kitaplarını açma ve kaydetme, çalışma sayfalarında gezinme, hücre değerlerini ve formüllerini okuma ve yazma, stiller uygulama, verileri filtreleme ve diğer formatlara dışa aktarma.
Aşağıdaki her bölüm, API’nin bir alanını ilgili somut yöntemler ve özelliklerle kapsar ve çalışan TypeScript örnekleriyle desteklenir. Amaç, parçaların nasıl bir araya geldiğine dair çalışan bir zihinsel model sunmaktır; new Workbook()‘den bireysel Cell özelliklerine kadar.
Temel Özellikler
Çalışma Kitabı ve Çalışma Sayfası Temelleri
Bir Workbook, ya new Workbook() ile boş olarak oluşturulur ya da Workbook.load(filePath, password) ile mevcut bir dosyadan asenkron olarak yüklenir. Her çalışma kitabı, worksheets‘i sunar; bu, WorksheetCollection olup indekslemeyi, yinelemeyi ve dizi tarzı yöntemleri (map, filter, forEach, find, indexOf) destekler, ayrıca addWorksheet(name), removeWorksheet(index) ve moveWorksheet(fromIndex, toIndex)‘yi de içerir. Değişiklikleri kalıcı kılmak için workbook.save(filePath, options)‘i çağırın.
const workbook = new Workbook();
const ws1 = workbook.worksheets.addWorksheet();
const ws2 = workbook.worksheets.addWorksheet("CustomSheet1");
console.log("Total worksheets:", workbook.worksheets.length);
workbook.worksheets.removeWorksheet(1);
console.log("After delete:", workbook.worksheets.length);
console.log(
"Names:",
workbook.worksheets.worksheets.map((w) => w.name),
);
await workbook.save("workbook.xlsx");
Hücre Erişimi ve Değerleri
Bir Worksheet, hücreleri putValue(key, value), getCell2(key) (bir Cell döndürür, yoksa oluşturur), getCell(row, col) ( Cell | undefined döndürür) ve getCellByRef(ref) aracılığıyla okur ve yazar. Her Cell, value, formula, row, col ve ref öğelerini özellik olarak ve setFormula() / setStyle() / setHyperlink() öğelerini metod olarak sunar.
const workbook = new Workbook();
const sheet = workbook.worksheets[0]!;
sheet.putValue("A1", 42);
sheet.putValue("A2", "Hello World");
const formulaCell = sheet.getCell2("A3");
formulaCell.setFormula("=A1+10");
console.log("A1 value:", sheet.getCell(0, 0)?.value);
console.log("A3 formula:", sheet.getCell(2, 0)?.formula);
const byRef = sheet.getCellByRef("A1");
console.log("Ref:", byRef?.ref, "Row:", byRef?.row, "Col:", byRef?.col);
await workbook.save("cells.xlsx");
Stil, Yazı Tipi, Kenarlık ve Hizalama
Style, bir hücre için yazı tipi, dolgu, kenarlık, hizalama ve sayı biçimi ayarlarını gruplar. getFont()/setFont(), getBorder()/setBorder() ve getAlignment()/setAlignment() ile tüm alt nesneleri okuyabilir veya değiştirebilir, ya da Style üzerinde doğrudan kolay ayarlayıcıları kullanabilirsiniz; örneğin setFontName(), setFontSize(), setBold(), setHorizontalAlignment() ve setNumberFormat(). Tamamlanmış Style‘i Cell.setStyle() ile bir hücreye uygulayın.
const workbook = new Workbook();
const sheet = workbook.worksheets[0]!;
const style = new Style();
style.setFontName("Arial");
style.setFontSize(14);
style.setBold(true);
style.setNumberFormat("0.00");
style.getBorder().bottom = { style: "thin", color: "000000" };
style.setHorizontalAlignment("center");
style.setVerticalAlignment("center");
style.setWrapText(true);
const cell = sheet.getCell2("B2");
cell.putValue(1234.5);
cell.setStyle(style);
console.log("Bold:", style.isBold(), "Format:", style.getNumberFormat());
await workbook.save("styled.xlsx");
AutoFilter Sınıfı ile Otomatik Filtreleme
Worksheet.setAutoFilter(range), yaygın durum için bir kısayoldur, ancak temel AutoFilter sınıfı da doğrudan kullanılabilir: bir aralıkla oluşturun, ardından her sütun için addFilterColumn(col, filters, blank) çağırarak hangi değerlerin görünür kalacağını tanımlayın, ya da filtrelemeyi geri almak için removeFilterColumn(col) / clear() kullanın.
const workbook = new Workbook();
const sheet = workbook.worksheets[0]!;
sheet.putValue("A1", "Name");
sheet.putValue("B1", "City");
sheet.putValue("A2", "Alice");
sheet.putValue("B2", "New York");
sheet.putValue("A3", "Bob");
sheet.putValue("B3", "London");
const filter = new AutoFilter("A1:B3");
filter.addFilterColumn(1, ["New York"], false);
console.log("Filter range:", filter.range);
console.log("Filter columns:", filter.columns.length);
await workbook.save("filtered.xlsx");
HTML, CSV, JSON ve Markdown’a Dışa Aktarma
.xlsx ötesinde, bir Workbook kendisini doğrudan toHtml(), toCsv(), toJson() ve toMarkdown() ile metin olarak oluşturabilir ya da SaveFormat enum’ı (XLSX, CSV, JSON, MARKDOWN, HTML) aracılığıyla uzantısı formatı seçen bir dosyaya kaydedilebilir.
const workbook = new Workbook();
const sheet = workbook.worksheets[0]!;
sheet.putValue("A1", "Name");
sheet.putValue("B1", "Age");
sheet.putValue("A2", "Alice");
sheet.putValue("B2", 25);
sheet.putValue("A3", "Bob");
sheet.putValue("B3", 30);
console.log("JSON:", workbook.toJson());
console.log("Markdown:\n", workbook.toMarkdown());
await workbook.save("report.csv");
await workbook.save("report.html");
Hızlı Başlangıç
git clone https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-TypeScript.git
cd Aspose.Cells-FOSS-for-TypeScript
npm install
npm run buildimport { Workbook, Style } from "excel-cells";
const workbook = new Workbook();
const sheet = workbook.worksheets.get(0)!;
sheet.name = "Summary";
sheet.putValue("A1", "Item");
sheet.putValue("B1", "Count");
sheet.putValue("A2", "Widgets");
sheet.putValue("B2", 12);
sheet.putValue("A3", "Gadgets");
sheet.putValue("B3", 7);
const totalCell = sheet.getCell2("B4");
totalCell.setFormula("=SUM(B2:B3)");
const numberStyle = new Style();
numberStyle.setNumberFormat("0");
sheet.getCell2("B2").setStyle(numberStyle);
sheet.getCell2("B3").setStyle(numberStyle);
sheet.getCell2("B4").setStyle(numberStyle);
const detail = workbook.worksheets.addWorksheet("Detail");
detail.putValue("A1", "Raw Data");
await workbook.save("summary.xlsx");
const reloaded = await Workbook.load("summary.xlsx");
console.log("Worksheets:", reloaded.worksheets.length);
console.log("B4 formula:", reloaded.worksheets.get(0)!.getCell(3, 1)?.formula);
Desteklenen Formatlar
| Biçim | Uzantı | Oku | Yaz |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
| HTML | .html | ✓ | ✓ |
| CSV | .csv | — | ✓ |
| JSON | .json | — | ✓ |
| Markdown | .md | — | ✓ |
Açık Kaynak ve Lisanslama
Aspose.Cells FOSS for TypeScript MIT lisansı altında yayınlanmıştır. Kaynak kodu GitHub adresinde mevcuttur. Ticari kullanım, MIT lisansı koşulları kapsamında izin verilir.