💄 调整应收账单导出列宽与公式显示

This commit is contained in:
caojia
2026-10-18 22:13:40 +08:00
parent a19d97d111
commit 3cf85af180
@@ -31,7 +31,6 @@ import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.xssf.model.StylesTable;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.core.io.ClassPathResource;
@@ -120,9 +119,9 @@ public class ArBillServiceImpl implements IArBillService {
private static final int TRACKING_NO_COLUMN_INDEX = 4;
private static final int FORMULA_COLUMN_INDEX = 16;
private static final int FEE_TYPE_COLUMN_INDEX = 17;
private static final double MIN_CUSTOMER_ORDER_NO_COLUMN_WIDTH = 20.0;
private static final double MIN_TRACKING_NO_COLUMN_WIDTH = 35.0;
private static final double MIN_FORMULA_COLUMN_WIDTH = 25.0;
private static final double MIN_CUSTOMER_ORDER_NO_COLUMN_WIDTH = 16.0;
private static final double MIN_TRACKING_NO_COLUMN_WIDTH = 30.0;
private static final double MIN_FORMULA_COLUMN_WIDTH = 17.0;
private static final double MIN_FEE_TYPE_COLUMN_WIDTH = 10.0;
/**
* 单次查询订单数;费用仅查询当前订单批次,避免大账单占满堆内存。
@@ -1307,17 +1306,13 @@ public class ArBillServiceImpl implements IArBillService {
failedDetailNoStyle.cloneStyleFrom(failedDetailStyle);
failedDetailNoStyle.setDataFormat(BuiltinFormats.getBuiltinFormat("0"));
int failedDetailNoStyleIndex = Short.toUnsignedInt(failedDetailNoStyle.getIndex());
XSSFFont formulaFont = new XSSFFont();
formulaFont.getCTFont().set(styles.getFontAt(
styles.getStyleAt(TEMPLATE_DETAIL_STYLE_INDEX).getFontIndexAsInt()).getCTFont());
formulaFont.setFontHeightInPoints((short) 9);
XSSFCellStyle formulaStyle = styles.createCellStyle();
formulaStyle.cloneStyleFrom(styles.getStyleAt(TEMPLATE_DETAIL_STYLE_INDEX));
formulaStyle.setFont(formulaFont);
formulaStyle.setShrinkToFit(true);
int formulaStyleIndex = Short.toUnsignedInt(formulaStyle.getIndex());
XSSFCellStyle failedFormulaStyle = styles.createCellStyle();
failedFormulaStyle.cloneStyleFrom(failedDetailStyle);
failedFormulaStyle.setFont(formulaFont);
failedFormulaStyle.setShrinkToFit(true);
int failedFormulaStyleIndex = Short.toUnsignedInt(failedFormulaStyle.getIndex());
try (InputStream input = openTemplateStream(template); ZipInputStream templateZip = new ZipInputStream(input);
OutputStream fileOutput = Files.newOutputStream(target); ZipOutputStream output = new ZipOutputStream(fileOutput)) {