首页 > 解决方案 > 如何使用 Apache POI 设置数据透视数据字段的数字格式?

问题描述

我目前正在使用以下代码设置数字格式

pivotTable.getCTPivotTableDefinition().getDataFields().getDataFieldArray(0).setNumFmtId(2)

但是我想设置 setNumFmtId 函数的格式代码中不存在的数字格式 例如:0.0 格式中不存在

我在格式代码中只能看到 0.00 而不是 0.0 格式。

标签: javaexcelapache-poipivot-table

解决方案


BuiltinFormatsNumFmtId之一。如您所见,它没有内置格式。 IdId 20.000.0

或者它是Id一种自定义数据格式。必须使用Workbook.createDataFormat创建一个这样的。Id可以使用DataFormat.getFormat获得

例子:

...
DataFormat dataformat = workbook.createDataFormat();
short numFmtId = dataformat.getFormat("0.0");

pivotTable.getCTPivotTableDefinition().getDataFields().getDataFieldArray(0).setNumFmtId(numFmtId);
...

推荐阅读