GlobalizationSettings Sınıfı Kullanarak Özel Alt Toplam Etiketleri ve Pasta Grafik Diğer Etiketleri ile Node.js ve C++

Olası Kullanım Senaryoları

Aspose.Cells API’leri, kullanıcının bir hesap tablosunda özel alt toplamlar için etiketler kullanmak istediği durumları yönetmek amacıyla GlobalizationSettings sınıfını açtı. Ayrıca, GlobalizationSettings sınıfı, hesaplandırmayı yaparken Diğer etiketi için de kullanılabilir.

GlobalizationSettings Sınıfı Tanıtımı

GlobalizationSettings sınıfı şu anda, istenen alt toplam etiketlerini almak veya Diğer etiketi için özel metinler render etmek için geçersiz kılınabilecek 3 metot sunar.

  1. GlobalizationSettings.getTotalName(ConsolidationFunction): Fonksiyonun toplam ismini alır.
  2. GlobalizationSettings.getGrandTotalName(ConsolidationFunction): Fonksiyonun genel toplam ismini alır.

Alt toplamlar için özel etiketler

GlobalizationSettings sınıfı, aşağıda gösterildiği gibi GlobalizationSettings.getTotalName(ConsolidationFunction) ve GlobalizationSettings.getGrandTotalName(ConsolidationFunction) metodlarını geçersiz kılarak Alt Toplam etiketlerini özelleştirmek için kullanılabilir.

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// Defines a custom class derived from GlobalizationSettings class
class CustomSettings extends AsposeCells.GlobalizationSettings {
// Overrides the GetTotalName method
getTotalName(functionType) {
// Checks the function type used to add the subtotals
switch (functionType) {
// Returns custom value based on the function type used to add the subtotals
case AsposeCells.ConsolidationFunction.Average:
return "AVG";
// Handle other cases as per requirement
default:
return super.getTotalName(functionType);
}
}

// Overrides the GetGrandTotalName method
getGrandTotalName(functionType) {
// Checks the function type used to add the subtotals
switch (functionType) {
// Returns custom value based on the function type used to add the subtotals
case AsposeCells.ConsolidationFunction.Average:
return "GRD AVG";
// Handle other cases as per requirement
default:
return super.getGrandTotalName(functionType);
}
}
}

Özel etiketleri enjekte etmek için, yukarıda tanımlanan CustomSettings sınıfına ait bir örneğe WorkbookSettings.getGlobalizationSettings() özelliği atanmalı ve ardından çalışma sayfasına alt toplamlar eklenmelidir.

const AsposeCells = require("aspose.cells.node");
const path = require("path");
// Defines a custom class derived from GlobalizationSettings class
class CustomSettings extends AsposeCells.GlobalizationSettings {
// Overrides the GetTotalName method
getTotalName(functionType) {
// Checks the function type used to add the subtotals
switch (functionType) {
// Returns custom value based on the function type used to add the subtotals
case AsposeCells.ConsolidationFunction.Average:
return "AVG";
// Handle other cases as per requirement
default:
return super.getTotalName(functionType);
}
}

// Overrides the GetGrandTotalName method
getGrandTotalName(functionType) {
// Checks the function type used to add the subtotals
switch (functionType) {
// Returns custom value based on the function type used to add the subtotals
case AsposeCells.ConsolidationFunction.Average:
return "GRD AVG";
// Handle other cases as per requirement
default:
return super.getGrandTotalName(functionType);
}
}
}

try {
const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Loads an existing spreadsheet containing some data
const workbook = new AsposeCells.Workbook(path.join(dataDir, "sample.xlsx"));

// Assigns the GlobalizationSettings property of the WorkbookSettings class to a custom class created
workbook.getSettings().setGlobalizationSettings(new CustomSettings());

// Accesses the 1st worksheet from the collection which contains data that resides in the cell range A2:B9
const sheet = workbook.getWorksheets().get(0);

// Adds Subtotal of type Average to the worksheet
sheet.getCells().subtotal(AsposeCells.CellArea.createCellArea("A2", "B9"), 0, AsposeCells.ConsolidationFunction.Average, [1]);

// Calculates Formulas
workbook.calculateFormula();

// Auto fits all columns
sheet.autoFitColumns();

// Saves the workbook on disc
workbook.save(path.join(dataDir, "output_out.xlsx"));
} catch (error) {
console.error(`Test failed: ${error.message}`);
throw error;
}