我已经尝试过" PivotFieldType.Column" 方法。它的不正在工作,因为源数据Excel表格如下所示
Excel工作表:输入数据
=======================
我正在创建数据透视表"输入数据"工作表和生成的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
请帮我实施" Drag To 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;
答案 0 :(得分:1)
请根据您的需要使用数据透视表.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担任开发人员传播者
答案 1 :(得分:0)
PivotTable pt = (PivotTable)hoja2.PivotTables("TD1");
pt.Format(XlPivotFormatType.xlReport1);
对我有用
答案 2 :(得分:0)
出于某种原因,当您有两个或更多数据字段而没有列字段时,您必须在列中添加一个“虚拟”字段以使其按预期显示。
// 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