mirror of
https://github.com/getrebuild/rebuild.git
synced 2025-03-13 15:44:26 +08:00
fix: NUMBER
This commit is contained in:
parent
c2b72bda2b
commit
75b8dce2d9
1 changed files with 19 additions and 2 deletions
|
@ -22,6 +22,7 @@ import com.rebuild.core.metadata.MetadataHelper;
|
|||
import com.rebuild.core.metadata.easymeta.DisplayType;
|
||||
import com.rebuild.core.metadata.easymeta.EasyField;
|
||||
import com.rebuild.core.metadata.easymeta.EasyMetaFactory;
|
||||
import com.rebuild.core.metadata.impl.EasyFieldConfigProps;
|
||||
import com.rebuild.core.service.approval.ApprovalState;
|
||||
import com.rebuild.core.support.RebuildConfiguration;
|
||||
import com.rebuild.core.support.SetUser;
|
||||
|
@ -31,6 +32,7 @@ import com.rebuild.core.support.i18n.Language;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.Base64Utils;
|
||||
|
||||
|
@ -39,6 +41,7 @@ import java.awt.image.BufferedImage;
|
|||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
|
@ -108,6 +111,10 @@ public class EasyExcelGenerator extends SetUser {
|
|||
excelWriter.fill(main, writeSheet);
|
||||
}
|
||||
|
||||
// 公式生效
|
||||
Workbook wb = excelWriter.writeContext().writeWorkbookHolder().getWorkbook();
|
||||
wb.setForceFormulaRecalculation(true);
|
||||
|
||||
} finally {
|
||||
if (excelWriter != null) {
|
||||
excelWriter.finish();
|
||||
|
@ -274,8 +281,18 @@ public class EasyExcelGenerator extends SetUser {
|
|||
|
||||
if (dt == DisplayType.SIGN) {
|
||||
fieldValue = buildSignData((String) fieldValue);
|
||||
} else {
|
||||
fieldValue = FieldValueHelper.wrapFieldValue(fieldValue, easyField, true);
|
||||
} else {
|
||||
|
||||
if (dt == DisplayType.NUMBER) {
|
||||
// Keep Type
|
||||
} else if (dt == DisplayType.DECIMAL) {
|
||||
String format = easyField.getExtraAttr(EasyFieldConfigProps.DECIMAL_FORMAT);
|
||||
int scale = StringUtils.isBlank(format) ? 2 : format.split("\\.")[1].length();
|
||||
// Keep Type
|
||||
fieldValue = ObjectUtils.round(((BigDecimal) fieldValue).doubleValue(), scale);
|
||||
} else {
|
||||
fieldValue = FieldValueHelper.wrapFieldValue(fieldValue, easyField, true);
|
||||
}
|
||||
|
||||
if (FieldValueHelper.isUseDesensitized(easyField, this.getUser())) {
|
||||
fieldValue = FieldValueHelper.desensitized(easyField, fieldValue);
|
||||
|
|
Loading…
Reference in a new issue