ピボット テーブルのグローバリゼーション設定のカスタマイズ

考えられる使用シナリオ

カスタマイズしたいときもあるピボット合計、小計、総計、すべてのアイテム、複数のアイテム、列ラベル、行ラベル、空白の値あなたの条件に従ってテキスト。 Aspose.Cells を使用すると、ピボット テーブルのグローバリゼーション設定をカスタマイズして、このようなシナリオに対処できます。この機能を使用して、ラベルをアラビア語、ヒンディー語、ポーランド語などの他の言語に変更することもできます。

ピボット テーブルのグローバリゼーション設定のカスタマイズ

次のサンプル コードは、ピボット テーブルのグローバリゼーション設定をカスタマイズする方法を説明しています。クラスを作成しますCustomPivotTableGlobalizationSettings基本クラスから派生グローバリゼーション設定必要なすべてのメソッドをオーバーライドします。これらのメソッドは、ピボット合計、小計、総計、すべてのアイテム、複数のアイテム、列ラベル、行ラベル、空白の値.次に、このクラスのオブジェクトをWorkbookSettings.GlobalizationSettings財産。コードはソースエクセルファイルピボット テーブルを含むデータを更新して計算し、名前を付けて保存します。出力 PDFファイル。次のスクリーンショットは、出力 PDF に対するサンプル コードの効果を示しています。スクリーンショットでわかるように、ピボット テーブルのさまざまな部分に、オーバーライドされたグローバリゼーション設定クラス。

todo:画像_代替_文章

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
private class CustomPivotTableGlobalizationSettings : PivotGlobalizationSettings
{
//Gets the name of "Total" label in the PivotTable.
//You need to override this method when the PivotTable contains two or more PivotFields in the data area.
public override string GetTextOfTotal()
{
Console.WriteLine("---------GetPivotTotalName-------------");
return "AsposeGetPivotTotalName";
}
//Gets the name of "Grand Total" label in the PivotTable.
public override string GetTextOfGrandTotal()
{
Console.WriteLine("---------GetPivotGrandTotalName-------------");
return "AsposeGetPivotGrandTotalName";
}
//Gets the name of "(Multiple Items)" label in the PivotTable.
public override string GetTextOfMultipleItems()
{
Console.WriteLine("---------GetMultipleItemsName-------------");
return "AsposeGetMultipleItemsName";
}
//Gets the name of "(All)" label in the PivotTable.
public override string GetTextOfAll()
{
Console.WriteLine("---------GetAllName-------------");
return "AsposeGetAllName";
}
//Gets the name of "Column Labels" label in the PivotTable.
public override string GetTextOfColumnLabels()
{
Console.WriteLine("---------GetColumnLabelsOfPivotTable-------------");
return "AsposeGetColumnLabelsOfPivotTable";
}
//Gets the name of "Row Labels" label in the PivotTable.
public override string GetTextOfRowLabels()
{
Console.WriteLine("---------GetRowLabelsNameOfPivotTable-------------");
return "AsposeGetRowLabelsNameOfPivotTable";
}
//Gets the name of "(blank)" label in the PivotTable.
public override string GetTextOfEmptyData()
{
Console.WriteLine("---------GetEmptyDataName-------------");
return "(blank)AsposeGetEmptyDataName";
}
//Gets the name of PivotFieldSubtotalType type in the PivotTable.
public override string GetTextOfSubTotal(PivotFieldSubtotalType subTotalType)
{
Console.WriteLine("---------GetSubTotalName-------------");
switch (subTotalType)
{
case PivotFieldSubtotalType.Sum:
return "AsposeSum";//polish
case PivotFieldSubtotalType.Count:
return "AsposeCount";
case PivotFieldSubtotalType.Average:
return "AsposeAverage";
case PivotFieldSubtotalType.Max:
return "AsposeMax";
case PivotFieldSubtotalType.Min:
return "AsposeMin";
case PivotFieldSubtotalType.Product:
return "AsposeProduct";
case PivotFieldSubtotalType.CountNums:
return "AsposeCount";
case PivotFieldSubtotalType.Stdev:
return "AsposeStdDev";
case PivotFieldSubtotalType.Stdevp:
return "AsposeStdDevp";
case PivotFieldSubtotalType.Var:
return "AsposeVar";
case PivotFieldSubtotalType.Varp:
return "AsposeVarp";
}
return "AsposeSubTotalName";
}
}
public static void Run()
{
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
//Load your excel file
Workbook wb = new Workbook(dataDir + "samplePivotTableGlobalizationSettings.xlsx");
//Setting Custom Pivot Table Globalization Settings
wb.Settings.GlobalizationSettings.PivotSettings = new CustomPivotTableGlobalizationSettings();
//Hide first worksheet that contains the data of the pivot table
wb.Worksheets[0].IsVisible = false;
//Access second worksheet
Worksheet ws = wb.Worksheets[1];
//Access the pivot table, refresh and calculate its data
PivotTable pt = ws.PivotTables[0];
pt.RefreshDataFlag = true;
pt.RefreshData();
pt.CalculateData();
pt.RefreshDataFlag = false;
//Pdf save options - save entire worksheet on a single pdf page
PdfSaveOptions options = new PdfSaveOptions();
options.OnePagePerSheet = true;
//Save the output pdf
wb.Save(dataDir + "outputPivotTableGlobalizationSettings.pdf", options);
}