ピボットテーブルの書式設定
ピボットテーブルの外観
ピボットテーブルの外観をカスタマイズする方法については、「ピボットテーブルの作成」でシンプルなピボットテーブルの作成方法が説明されています。この記事では、さまざまなプロパティを設定してピボットテーブルの外観をカスタマイズする方法について説明します:
- ピボットテーブルの書式オプション
- ピボットフィールドの書式オプション
- データフィールドの書式オプション
ピボットテーブルの書式オプションの設定
PivotTable クラスは、全体のピボットテーブルを制御し、さまざまな方法で書式設定できます。
AutoFormat タイプの設定
Microsoft Excel はさまざまなプリセットレポート形式を提供しています。Aspose.Cells もこれらの書式オプションをサポートしています。これらにアクセスするには:
- PivotTable.IsAutoFormat を true に設定します。
- PivotTableAutoFormatType 列挙型から書式設定オプションを割り当てます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
int pivotindex = 0; | |
// Get the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Accessing the PivotTable | |
PivotTable pivotTable = worksheet.PivotTables[pivotindex]; | |
// Setting the PivotTable report is automatically formatted | |
pivotTable.IsAutoFormat = true; | |
// Setting the PivotTable atuoformat type. | |
pivotTable.AutoFormatType = Aspose.Cells.Pivot.PivotTableAutoFormatType.Report5; | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
書式オプションの設定
以下のコードサンプルは、ピボットテーブルを書式設定して行と列の合計を表示する方法、およびレポートのフィールド順序を設定する方法を示しています。また、null 値にカスタム文字列を設定する方法も示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
int pivotindex = 0; | |
// Accessing the PivotTable | |
PivotTable pivotTable = worksheet.PivotTables[pivotindex]; | |
// Setting the PivotTable report shows grand totals for rows. | |
pivotTable.RowGrand = true; | |
// Setting the PivotTable report shows grand totals for columns. | |
pivotTable.ColumnGrand = true; | |
// Setting the PivotTable report displays a custom string in cells that contain null values. | |
pivotTable.DisplayNullString = true; | |
pivotTable.NullString = "null"; | |
// Setting the PivotTable report's layout | |
pivotTable.PageFieldOrder = PrintOrderType.DownThenOver; | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
見た目と手触りの書式設定
事前設定されたレポート形式を使用せずに、ピボットテーブルレポートの見た目を手動で書式設定するには、PivotTable.Format() と PivotTable.FormatAll() メソッドを使用します。必要な書式設定のスタイルオブジェクトを作成します。たとえば:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
var pivot = workbook.Worksheets[0].PivotTables[0]; | |
pivot.PivotTableStyleType = PivotTableStyleType.PivotTableStyleDark1; | |
Style style = workbook.CreateStyle(); | |
style.Font.Name = "Arial Black"; | |
style.ForegroundColor = Color.Yellow; | |
style.Pattern = BackgroundType.Solid; | |
pivot.FormatAll(style); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
ピボットフィールドの書式オプションの設定
PivotField クラスは、ピボットテーブルのフィールドを表し、さまざまな方法で書式設定できます。以下のコードサンプルは、次のように行います:
- 行フィールドへのアクセス。
- 小計の設定。
- 自動並べ替えの設定。
- 自動表示の設定。
行/列/ページフィールドの書式の設定
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
int pivotindex = 0; | |
// Accessing the PivotTable | |
PivotTable pivotTable = worksheet.PivotTables[pivotindex]; | |
// Setting the PivotTable report shows grand totals for rows. | |
pivotTable.RowGrand = true; | |
// Accessing the row fields. | |
Aspose.Cells.Pivot.PivotFieldCollection pivotFields = pivotTable.RowFields; | |
// Accessing the first row field in the row fields. | |
Aspose.Cells.Pivot.PivotField pivotField = pivotFields[0]; | |
// Setting Subtotals. | |
pivotField.SetSubtotals(Aspose.Cells.Pivot.PivotFieldSubtotalType.Sum, true); | |
pivotField.SetSubtotals(Aspose.Cells.Pivot.PivotFieldSubtotalType.Count, true); | |
// Setting autosort options. | |
// Setting the field auto sort. | |
pivotField.IsAutoSort = true; | |
// Setting the field auto sort ascend. | |
pivotField.IsAscendSort = true; | |
// Setting the field auto sort using the field itself. | |
pivotField.AutoSortField = -5; | |
// Setting autoShow options. | |
// Setting the field auto show. | |
pivotField.IsAutoShow = true; | |
// Setting the field auto show ascend. | |
pivotField.IsAscendShow = false; | |
// Setting the auto show using field(data field). | |
pivotField.AutoShowField = 0; | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
データフィールドの書式の設定
以下のコードサンプルは、データフィールドの表示形式と数値形式を設定する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
int pivotindex = 0; | |
// Accessing the PivotTable | |
PivotTable pivotTable = worksheet.PivotTables[pivotindex]; | |
// Accessing the data fields. | |
Aspose.Cells.Pivot.PivotFieldCollection pivotFields = pivotTable.DataFields; | |
// Accessing the first data field in the data fields. | |
Aspose.Cells.Pivot.PivotField pivotField = pivotFields[0]; | |
// Setting data display format | |
pivotField.ShowValuesSetting.CalculationType = PivotFieldDataDisplayFormat.PercentageOf; | |
// Setting the base field. | |
pivotField.ShowValuesSetting.BaseFieldIndex = 1; | |
// Setting the base item. | |
pivotField.ShowValuesSetting.BaseItemPositionType = Aspose.Cells.Pivot.PivotItemPositionType.Next; | |
// Setting number format | |
pivotField.Number = 10; | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
ピボットフィールドのクリア
PivotFieldCollection には、ピボットフィールドをクリアするための Clear() メソッドがあります。たとえば、ページ、列、行、またはデータなど、領域内のすべてのピボットフィールドをクリアしたい場合に使用します。 以下のコードサンプルは、データ領域内のすべてのピボットフィールドをクリアする方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Load a template file | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Get the first worksheet | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Get the pivot tables in the sheet | |
PivotTableCollection pivotTables = sheet.PivotTables; | |
// Get the first PivotTable | |
PivotTable pivotTable = pivotTables[0]; | |
// Clear all the data fields | |
pivotTable.DataFields.Clear(); | |
// Add new data field | |
pivotTable.AddFieldToArea(PivotFieldType.Data, "Betrag Netto FW"); | |
// Set the refresh data flag on | |
pivotTable.RefreshDataFlag = false; | |
// Refresh and calculate the pivot table data | |
pivotTable.RefreshData(); | |
pivotTable.CalculateData(); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |