如何将我的数据字段放在我的Excel数据透视表(Aspose单元格)

我已经尝试过“PivotFieldType.Column”的方法。 这不起作用,因为源数据Excel表格如下所示

Excel工作表:input数据

公司名称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数据”表创build数据透视表,生成的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 

请帮助我实现“拖到Colum”数据字段使用C#

示例代码

 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 。 请参阅下面的示例代码和屏幕截图,显示input和输出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作为Developer Evangelist工作