如何将我的数据字段放在 Excel Pivot Table 的 COLUMNS 中(Aspose Cells)
How can I place my data fields in COLUMNS in my Excel Pivot Table (Aspose Cells)
我已经尝试过"PivotFieldType.Column"方法。它 没有 工作,因为源数据 Excel sheet 如下所示
Excel sheet: 输入数据
公司名称 FundsinUse LastDayCash
- 我公司AA -33848 37
- 我公司AA -33848 37
- 我公司AA -33848 37
- 我公司BB 2188.75 55.5
- 我公司BB 2188.75 55.5
- 我公司BB 2188.75 55.5
- 我公司BB 2188.75 55.5
=======================
我正在从这个 "Input Data" sheet 创建 Pivot table 并且生成的 Excel 如下所示:
Row Labels
My Company AA FundsinUse -101544
LastDayCash 111
My Company BB FundsinUse 8755
LastDayCash 222
我想得到如下输出:
Row Labels FundsinUse LastDayCash
My Company AA -101544 111
My Company BB 8755 222
请帮助我使用 C#
在数据字段上实现 "Drag To Colum"
示例代码
string sourceData = string.Format("='Input Data'!A1:BU{0}", totalRows + 1);
int indexOfFirstSheet = workbookDesigner.Workbook.Worksheets["FirstSheet"].Index;
Worksheet newWS = workbookDesigner.Workbook.Worksheets.Insert(indexOfFirstSheet + 1, SheetType.Worksheet, "My Pivot Sheet");
PivotTableCollection pivotTablesColl = newWS.PivotTables;
int index = pivotTablesColl.Add(sourceData, "A3", "My Pivot");
PivotTable pt = pivotTablesColl[index];
pt.RowGrand = true;
pt.ColumnGrand = true;
//Row field
pt.AddFieldToArea(PivotFieldType.Row, "Company Name");
// Data fields
pt.AddFieldToArea(PivotFieldType.Data, "FundsinUse");
pt.AddFieldToArea(PivotFieldType.Data, "LastDayCash");
PivotField fundsinUse = pt.DataFields[0];
fundsinUse.DragToColumn = true;
请根据您的需要使用PivotTable.DataField。请查看以下显示输入和输出 Excel 文件的示例代码和屏幕截图。
C#
Workbook wb = new Workbook("source.xlsx");
Worksheet ws = wb.Worksheets[0];
PivotTable pt = ws.PivotTables[0];
PivotField pdf = pt.DataField;
pt.AddFieldToArea(PivotFieldType.Column, pt.DataField);
pt.RefreshData();
pt.CalculateData();
wb.Save("output.xlsx");
屏幕截图 - 之前
屏幕截图 -
之后
注意:我在 Aspose 担任开发人员布道师
PivotTable pt = (PivotTable)hoja2.PivotTables("TD1");
pt.Format(XlPivotFormatType.xlReport1);
对我有用
出于某种原因,当您有两个或更多数据字段而没有列字段时,您必须在列中添加一个“虚拟”字段以使其按预期显示。
// Add virtual field to column
pt.AddFieldToArea(PivotFieldType.Column, pt.DataField);
查看更完整的示例:
https://forum.aspose.com/t/how-do-you-add-a-count-column-to-a-pivottable/166240/8
我已经尝试过"PivotFieldType.Column"方法。它 没有 工作,因为源数据 Excel sheet 如下所示
Excel sheet: 输入数据
公司名称 FundsinUse LastDayCash
- 我公司AA -33848 37
- 我公司AA -33848 37
- 我公司AA -33848 37
- 我公司BB 2188.75 55.5
- 我公司BB 2188.75 55.5
- 我公司BB 2188.75 55.5
- 我公司BB 2188.75 55.5
=======================
我正在从这个 "Input Data" sheet 创建 Pivot table 并且生成的 Excel 如下所示:
Row Labels
My Company AA FundsinUse -101544
LastDayCash 111
My Company BB FundsinUse 8755
LastDayCash 222
我想得到如下输出:
Row Labels FundsinUse LastDayCash
My Company AA -101544 111
My Company BB 8755 222
请帮助我使用 C#
在数据字段上实现 "Drag To Colum"示例代码
string sourceData = string.Format("='Input Data'!A1:BU{0}", totalRows + 1);
int indexOfFirstSheet = workbookDesigner.Workbook.Worksheets["FirstSheet"].Index;
Worksheet newWS = workbookDesigner.Workbook.Worksheets.Insert(indexOfFirstSheet + 1, SheetType.Worksheet, "My Pivot Sheet");
PivotTableCollection pivotTablesColl = newWS.PivotTables;
int index = pivotTablesColl.Add(sourceData, "A3", "My Pivot");
PivotTable pt = pivotTablesColl[index];
pt.RowGrand = true;
pt.ColumnGrand = true;
//Row field
pt.AddFieldToArea(PivotFieldType.Row, "Company Name");
// Data fields
pt.AddFieldToArea(PivotFieldType.Data, "FundsinUse");
pt.AddFieldToArea(PivotFieldType.Data, "LastDayCash");
PivotField fundsinUse = pt.DataFields[0];
fundsinUse.DragToColumn = true;
请根据您的需要使用PivotTable.DataField。请查看以下显示输入和输出 Excel 文件的示例代码和屏幕截图。
C#
Workbook wb = new Workbook("source.xlsx");
Worksheet ws = wb.Worksheets[0];
PivotTable pt = ws.PivotTables[0];
PivotField pdf = pt.DataField;
pt.AddFieldToArea(PivotFieldType.Column, pt.DataField);
pt.RefreshData();
pt.CalculateData();
wb.Save("output.xlsx");
屏幕截图 - 之前
屏幕截图 -
之后注意:我在 Aspose 担任开发人员布道师
PivotTable pt = (PivotTable)hoja2.PivotTables("TD1");
pt.Format(XlPivotFormatType.xlReport1);
对我有用
出于某种原因,当您有两个或更多数据字段而没有列字段时,您必须在列中添加一个“虚拟”字段以使其按预期显示。
// Add virtual field to column
pt.AddFieldToArea(PivotFieldType.Column, pt.DataField);
查看更完整的示例: https://forum.aspose.com/t/how-do-you-add-a-count-column-to-a-pivottable/166240/8