如何预先select要包含在数据透视表中的字段?

我有这个EPPlus代码来创build数据透视表:

private void AddPivotTable() { string colAlphaRowNum = string.Format("A{0}", locationWorksheet.Dimension.End.Row+5); ExcelAddressBase eab = locationWorksheet.Cells[colAlphaRowNum]; ExcelRangeBase erb = locationWorksheet.Cells[6, 1, locationWorksheet.Dimension.End.Row, locationWorksheet.Dimension.End.Column]; var pt = locationWorksheet.PivotTables.Add(eab, erb, "Pivotous"); pt.MultipleFieldFilters = true; pt.RowGrandTotals = true; pt.ColumGrandTotals = true; pt.Compact = true; pt.CompactData = true; pt.GridDropZones = false; pt.Outline = false; pt.OutlineData = false; pt.ShowError = true; pt.ErrorCaption = "[error]"; pt.ShowHeaders = true; pt.UseAutoFormatting = true; pt.ApplyWidthHeightFormats = true; pt.ShowDrill = true; pt.DataOnRows = false; pt.FirstHeaderRow = 1; // first row has headers pt.FirstDataCol = 1; // first col of data pt.FirstDataRow = 2; // first row of data pt.TableStyle = TableStyles.Medium6; // There is a "custom" and several Dark, Light, and Medium options } 

这种有点类似的作品; 我在纸上得到这个:

在这里输入图像说明

如果我然后(手动)在工作表的NEangular中的“数据透视表字段列表”中select全部六个可用字段,数据透视表将其出现更改为:

在这里输入图像说明

这非常好,因为用户可以“随便乱逛” – 为每个字段select可用数据的任何子集。 但是我希望数据透视表在这个状态下开始,而不是用户手动select字段。

这怎么可能?

注:我有类似的问题与Excel Interop,发现“事情”更容易使用EPPlus作为对比, 尽pipe如此,以编程方式select字段似乎是一个挑战…

它比Excel Interop容易得多; 这是所需要的一切:

 pt.RowFields.Add(pt.Fields[0]); pt.RowFields.Add(pt.Fields[1]); pt.RowFields.Add(pt.Fields[2]); pt.RowFields.Add(pt.Fields[3]); pt.RowFields.Add(pt.Fields[4]); pt.RowFields.Add(pt.Fields[5]);