Node.js ile C++ kullanarak Formülleri Hesapla
Formüller Ekleyin ve Sonuçlarını Hesaplayın
Aspose.Cells gömülü bir formül hesaplama motoruna sahiptir. Tasarımcı şablonlarından ithal edilen formülleri tekrar hesaplamanın yanı sıra, çalışma zamanında eklenen formüllerin sonuçlarını da hesaplamayı destekler.
Aspose.Cells, Microsoft Excel’in (desteklenen fonksiyonların listesini bu bağlantıda bulabilirsiniz) birçoğu ile uyumlu formülleri veya fonksiyonları destekler. Bu fonksiyonlar API’ler veya tasarımcı tabloları aracılığıyla kullanılabilir. Aspose.Cells, matematiksel, dize, mantıksal, tarih/zaman, istatistiksel, veritabanı, arama ve referans formüllerinin büyük bir kümesine destek sağlar.
Bir hücreye formül eklemek için getFormula() sınıfının setFormula(string, object) özelliği veya Cell metodunu kullanın. Bir formül uygularken, her zaman Microsoft Excel’de formül oluştururken yaptığınız gibi eşittir (=) ile başlayın ve fonksiyon parametrelerini ayırmak için virgül (,) kullanın.
Formüllerin sonuçlarını hesaplamak için, kullanıcı calculateFormula() metodunu çağırabilir; bu metod, bir Excel dosyasına gömülü tüm formülleri işler. Alternatif olarak, yine Workbook sınıfının calculateFormula(string) metodunu çağırarak, bir sayfaya gömülü tüm formülleri işleyebilirsiniz. Ayrıca, yalnızca bir Hücre’nin formülünü işleyen calculate(CalculationOptions) metodunu da çağırabilirsiniz:
const path = require("path");
const fs = require("fs");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiating a Workbook object
const workbook = new AsposeCells.Workbook();
// Adding a new worksheet to the Excel object
const sheetIndex = workbook.getWorksheets().add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
const worksheet = workbook.getWorksheets().get(sheetIndex);
// Adding a value to "A1" cell
worksheet.getCells().get("A1").putValue(1);
// Adding a value to "A2" cell
worksheet.getCells().get("A2").putValue(2);
// Adding a value to "A3" cell
worksheet.getCells().get("A3").putValue(3);
// Adding a SUM formula to "A4" cell
worksheet.getCells().get("A4").setFormula("=SUM(A1:A3)");
// Calculating the results of formulas
workbook.calculateFormula();
// Get the calculated value of the cell
const value = worksheet.getCells().get("A4").getValue().toString();
// Saving the Excel file
workbook.save(path.join(dataDir, "output.xls"));
Formüller İçin Bilinmesi Gerekenler
Formülün Doğrudan Hesaplanması
Aspose.Cells, gömülü bir formül hesaplama motoruna sahiptir. Bir tasarımcı dosyasından içe aktarılmış formülleri hesaplamanın yanı sıra, Aspose.Cells, formül sonuçlarını doğrudan hesaplamayı da destekler.
B sometimes, doğrudan formül sonuçlarını hesaplamanız gerekebilir, ve bu sonuçları çalışma sayfasına eklemeden de yapabilirsiniz. Formülde kullanılan hücrelerin değerleri zaten bir çalışma sayfasında mevcuttur ve sizin yapmanız gereken, bu değerlerin sonucunu Microsoft Excel formülleri kullanarak bulmaktır, formülü çalışma sayfasına ekmeden.
Aspose.Cells’ın formül hesaplama motoru API’lerini kullanarak, Worksheet ile calculateFormula(string, FormulaParseOptions, CalculationOptions, number, number, CalculationData) arasındaki formüllerin sonuçlarını, bunları çalışma sayfasına eklemeden alabilirsiniz:
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Create a workbook
const workbook = new AsposeCells.Workbook();
// Access first worksheet
const worksheet = workbook.getWorksheets().get(0);
// Put 20 in cell A1
const cellA1 = worksheet.getCells().get("A1");
cellA1.putValue(20);
// Put 30 in cell A2
const cellA2 = worksheet.getCells().get("A2");
cellA2.putValue(30);
// Calculate the Sum of A1 and A2
const results = worksheet.calculateFormula("=Sum(A1:A2)");
// Print the output
console.log("Value of A1: " + cellA1.getStringValue());
console.log("Value of A2: " + cellA2.getStringValue());
console.log("Result of Sum(A1:A2): " + results.toString());
Formülleri Tekrarlı Hesaplamak İçin Nasıl
Value of A1: 20
Value of A2: 30
Result of Sum(A1:A2): 50.0
Formülleri tekrar tekrar hesaplama
Çok sayıda formül bulunduğunda ve sadece küçük bir kısmını değiştirilerek tekrar hesaplanması gerekiyorsa, performans açısından hesaplama zincirini etkinleştirmek faydalı olabilir: formulaSettings.getEnableCalculationChain().
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Load the template workbook
const workbook = new AsposeCells.Workbook(path.join(dataDir, "book1.xls"));
// Print the time before formula calculation
console.log(new Date());
// Set the CreateCalcChain as true
workbook.getSettings().getFormulaSettings().setEnableCalculationChain(true);
// Calculate the workbook formulas
workbook.calculateFormula();
// Print the time after formula calculation
console.log(new Date());
// Change the value of one cell
workbook.getWorksheets().get(0).getCells().get("A1").putValue("newvalue");
// Re-calculate those formulas which depend on cell A1
workbook.calculateFormula();
Bilinmesi Gerekenler
Gelişmiş Konular
- Microsoft Excel Formül İzleme Penceresine Hücreler Ekleme
- Aspose.Cells ile IFNA işlevinin hesaplanması
- Veri Tablolarının Dizi Formül Hesaplama
- Excel 2016 MINIFS ve MAXIFS işlevlerinin hesaplanması
- Hücre.hesapla metodunun Hesaplama Süresini Azaltın
- Dairesel Referansı Algılama
- Özel işlevin çalışma tablosuna yazılmadan doğrudan hesaplanması
- Aspose.Cells’in Varsayılan Hesaplama Motorunu Genişletmek için Özel Hesaplama Motoru Uygulamak
- Çalışma Kitabının Formül Hesaplamasını Kesmek veya İptal Etmek
- AbstractCalculationEngine Kullanarak Bir Değer Aralığı Döndürme
- Çalışma Kitabının Formül Hesaplama Modunu Ayarlama
- Aspose.Cells’te FormulaText Fonksiyonu Kullanma