|
|
@@ -15,6 +15,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
@@ -70,6 +71,7 @@ public class JDOrderDynamicTemplateHandler {
|
|
|
|
|
|
// 1. 为"物品名称"列(第 G 列,索引 6)添加下拉框
|
|
|
if (goodsNames != null && !goodsNames.isEmpty()) {
|
|
|
+ goodsNames.add("");
|
|
|
addDropdownValidation(workbook, sheet, goodsNames, 6, "GoodsNames");
|
|
|
}
|
|
|
|
|
|
@@ -343,6 +345,7 @@ public class JDOrderDynamicTemplateHandler {
|
|
|
* @return RowWriteHandler 处理器
|
|
|
*/
|
|
|
private SheetWriteHandler createTextFormatRowHandler() {
|
|
|
+ List<Integer> textColumns = Arrays.asList(10, 11);
|
|
|
return new SheetWriteHandler() {
|
|
|
@Override
|
|
|
public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
|
|
|
@@ -353,10 +356,12 @@ public class JDOrderDynamicTemplateHandler {
|
|
|
CellStyle textCellStyle = writeWorkbookHolder.getWorkbook().createCellStyle();
|
|
|
textCellStyle.setDataFormat(dataFormat.getFormat("@")); // 等同于setDataFormat(TEXT_FORMAT_CODE)
|
|
|
|
|
|
- // 为sheet的所有列设置默认文本格式(这里设置前100列,可根据需求调整范围)
|
|
|
- int maxColumnNum = 100;
|
|
|
- for (int i = 0; i < maxColumnNum; i++) {
|
|
|
- sheet.setDefaultColumnStyle(i, textCellStyle);
|
|
|
+ // 2. 【仅遍历指定列】设置文本格式
|
|
|
+ if (textColumns != null && !textColumns.isEmpty()) {
|
|
|
+ for (Integer columnIndex : textColumns) {
|
|
|
+ // 为指定列设置默认样式(空单元格也生效)
|
|
|
+ sheet.setDefaultColumnStyle(columnIndex, textCellStyle);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
};
|