gpt4 book ai didi

java - 如何在Aspose中按行和列字段值对数据透视表进行排序?

转载 作者:行者123 更新时间:2023-12-02 03:43:42 25 4
gpt4 key购买 nike

请找到下面的图片来演示我到底想要做什么。

Pivot Table Use-Case Demo

我尝试在下面的代码中执行此操作,但它不会生成正确/可读的 Excel 文件。或者,如果我使用带注释的代码,它会生成正确的 Excel 文件,但不会按预期正确排序。

您能帮我实现上图中提到的目标吗?

  String sortByColName = "OrderDate";
String sortByRowName = "CategoryName";

PivotFieldCollection colFields = pivotTable.getColumnFields();
PivotFieldCollection rowFields = pivotTable.getRowFields();

PivotField sortByColField = colFields.get(sortByColName);

sortByColField.setAutoSort(true);
sortByColField.setAscendSort(true);
sortByColField.setAutoSortField(2); /* sortByColField.setAutoSortField(-1); */
sortByColField.setAutoShow(true);
sortByColField.setAscendShow(true);
sortByColField.setAutoShowField(0);

PivotField sortByRowField = rowFields.get(sortByRowName);
sortByRowField.setAutoSort(true);
sortByRowField.setAscendSort(true);
sortByRowField.setAutoSortField(2); /* sortByRowField.setAutoSortField(-1); */
sortByRowField.setAutoShow(true);
sortByRowField.setAscendShow(true);
sortByRowField.setAutoShowField(0)

最佳答案

由于您的要求是根据数据透视表中的某些特定值/区域自定义排序,因此您无法直接通过数据透视表选项实现,因此您可以在 MS Excel 中手动确认这一点。恐怕,您必须首先通过 Aspose.Cells API 创建数据透视表,然后必须使用其数据刷新数据透视表(即使用 PivoTable.refreshData() 和 PivotTable.calculateData() 等),因此 Aspose.Cells应将数据透视表粘贴/呈现到工作表单元格中。现在,使用通用数据排序功能(请参阅引用文档: http://www.aspose.com/docs/display/cellsjava/Data+Sorting )通过 Aspose.Cells API 相应地对所需区域进行排序(使用从上到下或从左到右选项)。这并不是那么简单,因为你首先需要找出要排序的区域或部分区域(行或列)。在这里,您可以使用 Aspose.Cells API 提供的查找/搜索选项。

如果您仍然认为这样的自定义排序可以直接通过 MS Excel 中的数据透视表选项完成,请在 MS Excel 中手动创建所需的数据透视表,保存 Excel 文件并在您的 thread 中向我们提供,我们会尽快检查并帮助您。

我在 Aspose 担任支持开发人员/传播者。

关于java - 如何在Aspose中按行和列字段值对数据透视表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com