Если я экспортирую свою dataTable в Excel с помощью dataExporter, числа, содержащие пробелы в нем, и я не могу преобразовать их в Excel в числа и суммировать их.
Я пытался с помощью функции exportFunction, но я не былв состоянии заставить это работать.Но я думаю, что это не имеет значения из-за функции convertNumber.
<p:column filterBy="#{item.netPrice}" filterStyle="width: 65px;" exportFunction="#{controller.exportNumber}" headerText="#{bundle.ListFormItemSumTitle_netPrice}" filterMatchMode="startsWith" sortBy="#{item.netPrice}" visible="#{controller.isColumnVisible[1]}">
<h:outputText value="#{item.netPrice}">
<f:convertNumber />
</h:outputText>
</p:column>
Метод контроллера:
public String exportNumber(UIColumn column) {
String value = "";
for(UIComponent child: column.getChildren()) {
if(child instanceof ValueHolder) {
value = ComponentUtils.getValueToRender(FacesContext.getCurrentInstance(), child);
}
}
return value.replaceAll(" ", "");
}
Этот метод даже не вызывался при экспорте, к сожалению ...: (*
Это один из столбцов.
<p:column filterBy="#{item.netPrice}" filterStyle="width: 65px;" headerText="#{bundle.ListForm_netPrice}" filterMatchMode="startsWith" sortBy="#{item.netPrice}" visible="#{controller.isColumnVisible[1]}">
<h:outputText value="#{item.netPrice}">
<f:convertNumber />
</h:outputText>
</p:column>
Ожидаемый результат: если я экспортирую таблицу данных, числа не содержат пробелов. Если я просматриваю таблицу данных в пользовательском интерфейсе, то пробелы отображаются в качестве разделителя тысяч.
Версия простых чисел:
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.2</version>
<type>jar</type>
</dependency>