如何将我的数据字段放在我的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工作