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 build
import { 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çimUzantıOkuYaz
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.


Başlarken

İlgili Kaynaklar