C# EPPlus在数据字段而不仅仅是行字段上对数据透视表进行排序

C# EPPlus在数据字段而不仅仅是行字段上对数据透视表进行排序,c#,.net,excel,pivot-table,epplus,C#,.net,Excel,Pivot Table,Epplus,我已经使用EPPlus工具包3.1版在工作表中创建了一个Excel透视表。我能够在行字段上对结果表进行排序,但希望能够在数据字段上进行排序。例如,我从这里下载了3.1源代码: 它有一个名为CreatePivotTable()的单元测试。它包含一个“数据”选项卡,如下所示: var ws = _pck.Workbook.Worksheets.Add("Data"); ws.Cells["K1"].Value = "Item"; ws.Cells["L1"].Value = "Category";

我已经使用EPPlus工具包3.1版在工作表中创建了一个Excel透视表。我能够在行字段上对结果表进行排序,但希望能够在数据字段上进行排序。例如,我从这里下载了3.1源代码:

它有一个名为CreatePivotTable()的单元测试。它包含一个“数据”选项卡,如下所示:

var ws = _pck.Workbook.Worksheets.Add("Data");
ws.Cells["K1"].Value = "Item";
ws.Cells["L1"].Value = "Category";
ws.Cells["M1"].Value = "Stock";
ws.Cells["N1"].Value = "Price";
ws.Cells["O1"].Value = "Date for grouping";
...
然后,测试将添加9个透视表。首先,代码如下:

var pt = wsPivot1.PivotTables.Add(wsPivot1.Cells["A1"], ws.Cells["K1:N11"], "Pivottable1");
pt.GrandTotalCaption = "Total amount";
pt.RowFields.Add(pt.Fields[1]);
pt.RowFields.Add(pt.Fields[0]);
pt.DataFields.Add(pt.Fields[3]);
pt.DataFields.Add(pt.Fields[2]);
pt.DataFields[0].Function = DataFieldFunctions.Product;
pt.DataOnRows = false;
照目前的情况,没有排序。如果我对主透视字段集合的第一个字段应用排序,该字段也是它工作的两行字段中的第二个字段:

pt.Fields[0].Sort = eSortType.Descending;
但如果我想对其中一个数据字段进行排序(都指向“价格”),该怎么办

排序不适用。如果我在excel中进行排序并手动添加,它可以正常工作。此外,我在另一个项目中使用NetOffice,这也可以做到。这难道不是EPPLus可以做到的吗

pt.Fields[2].Sort = eSortType.Descending;
//or
pt.DataFields[0].Field.Sort = eSortType.Ascending;