From 1c83c95f18bf1375bf82be6f747b38d391b54a6d Mon Sep 17 00:00:00 2001 From: zz_zhi Date: Thu, 31 Jul 2025 15:54:52 +0800 Subject: [PATCH 1/9] feat(#116): hidden --- .../java/cn/idev/excel/annotation/write/style/HeadStyle.java | 4 ++++ .../idev/excel/write/metadata/holder/AbstractWriteHolder.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/fastexcel/src/main/java/cn/idev/excel/annotation/write/style/HeadStyle.java b/fastexcel/src/main/java/cn/idev/excel/annotation/write/style/HeadStyle.java index 5bb19873b..455fe8dc9 100644 --- a/fastexcel/src/main/java/cn/idev/excel/annotation/write/style/HeadStyle.java +++ b/fastexcel/src/main/java/cn/idev/excel/annotation/write/style/HeadStyle.java @@ -10,6 +10,9 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; + +import cn.idev.excel.write.handler.context.CellWriteHandlerContext; +import cn.idev.excel.write.handler.impl.HiddenShellWriteHandler; import org.apache.poi.ss.usermodel.BuiltinFormats; import org.apache.poi.ss.usermodel.FillPatternType; import org.apache.poi.ss.usermodel.IgnoredErrorType; @@ -31,6 +34,7 @@ /** * Set the cell's using this style to be hidden + * @see HiddenShellWriteHandler#afterCellDispose(CellWriteHandlerContext) */ BooleanEnum hidden() default BooleanEnum.DEFAULT; diff --git a/fastexcel/src/main/java/cn/idev/excel/write/metadata/holder/AbstractWriteHolder.java b/fastexcel/src/main/java/cn/idev/excel/write/metadata/holder/AbstractWriteHolder.java index ff8c3a4e4..f4cea05ab 100644 --- a/fastexcel/src/main/java/cn/idev/excel/write/metadata/holder/AbstractWriteHolder.java +++ b/fastexcel/src/main/java/cn/idev/excel/write/metadata/holder/AbstractWriteHolder.java @@ -23,6 +23,7 @@ import cn.idev.excel.write.handler.chain.SheetHandlerExecutionChain; import cn.idev.excel.write.handler.chain.WorkbookHandlerExecutionChain; import cn.idev.excel.write.handler.context.CellWriteHandlerContext; +import cn.idev.excel.write.handler.impl.HiddenShellWriteHandler; import cn.idev.excel.write.merge.LoopMergeStrategy; import cn.idev.excel.write.merge.OnceAbsoluteMergeStrategy; import cn.idev.excel.write.metadata.WriteBasicParameter; @@ -284,6 +285,9 @@ protected void initAnnotationConfig(List handlerList, WriteBasicPa dealColumnWidth(handlerList); } + //fix #116 + handlerList.add(new HiddenShellWriteHandler()); + dealStyle(handlerList); dealRowHigh(handlerList); dealOnceAbsoluteMerge(handlerList); From 657f7d26cec6675235c4d3635e16d2933d80e89e Mon Sep 17 00:00:00 2001 From: zz_zhi Date: Thu, 31 Jul 2025 15:57:01 +0800 Subject: [PATCH 2/9] feat(#116): hidden --- .../test/fix/issue116/HiddenShellTest.java | 49 +++++++++++++++++++ .../handler/impl/HiddenShellWriteHandler.java | 37 ++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java create mode 100644 fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java diff --git a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java new file mode 100644 index 000000000..6a9080973 --- /dev/null +++ b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java @@ -0,0 +1,49 @@ +package cn.idev.excel.test.fix.issue116; + +import cn.idev.excel.EasyExcel; +import cn.idev.excel.annotation.ExcelProperty; +import cn.idev.excel.annotation.write.style.HeadStyle; +import cn.idev.excel.enums.BooleanEnum; +import cn.idev.excel.test.util.TestFileUtil; +import lombok.*; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author zz_zhi + */ +public class HiddenShellTest { + + public static void main(String[] args) { + String fileName = TestFileUtil.getPath() + "hiddenShellTest" + System.currentTimeMillis() + ".xlsx"; + EasyExcel.write(fileName, DemoModel.class).sheet("模板").doWrite(listDemoModel()); + } + + public static List listDemoModel() { + List dataList = new ArrayList<>(); + for (int i = 1; i <= 5; i++) { + String category = "我是姓名" + i; + DemoModel exportModel = new DemoModel(category, i, "test" + i); + dataList.add(exportModel); + } + return dataList; + } + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class DemoModel { + + @ExcelProperty("名字") + private String name; + + @ExcelProperty("年龄") + @HeadStyle(hidden = BooleanEnum.TRUE) + private Integer age; + + @ExcelProperty("test") + private String test; + } + +} diff --git a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java new file mode 100644 index 000000000..49cef2aa2 --- /dev/null +++ b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java @@ -0,0 +1,37 @@ +package cn.idev.excel.write.handler.impl; + +import cn.idev.excel.annotation.write.style.HeadStyle; +import cn.idev.excel.metadata.property.StyleProperty; +import cn.idev.excel.util.BooleanUtils; +import cn.idev.excel.write.handler.SheetWriteHandler; +import cn.idev.excel.write.metadata.holder.WriteSheetHolder; +import cn.idev.excel.write.metadata.holder.WriteWorkbookHolder; +import cn.idev.excel.write.property.ExcelWriteHeadProperty; +import org.apache.poi.ss.usermodel.Sheet; + +/** + * hidden she'll row + * + * @author zz_zhi + * @see HeadStyle#hidden() + */ +public class HiddenShellWriteHandler implements SheetWriteHandler { + + @Override + public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { + ExcelWriteHeadProperty excelWriteHeadProperty = writeWorkbookHolder.getExcelWriteHeadProperty(); + if (excelWriteHeadProperty != null) { + excelWriteHeadProperty.getHeadMap().forEach((key, value) -> { + if (null != value) { + StyleProperty headStyleProperty = value.getHeadStyleProperty(); + if (null != headStyleProperty) { + if (BooleanUtils.isTrue(headStyleProperty.getHidden())) { + Sheet sheet = writeSheetHolder.getSheet(); + sheet.setColumnHidden(key, true); + } + } + } + }); + } + } +} From d37a2ad9e53cd356dfdae60d8d0c1b27e85e7d6b Mon Sep 17 00:00:00 2001 From: zz_zhi Date: Thu, 31 Jul 2025 16:54:24 +0800 Subject: [PATCH 3/9] style: --- .../cn/idev/excel/test/fix/issue116/HiddenShellTest.java | 4 +--- .../cn/idev/excel/annotation/write/style/HeadStyle.java | 8 ++++---- .../excel/write/metadata/holder/AbstractWriteHolder.java | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java index 6a9080973..1ed5c069e 100644 --- a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java +++ b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java @@ -5,10 +5,9 @@ import cn.idev.excel.annotation.write.style.HeadStyle; import cn.idev.excel.enums.BooleanEnum; import cn.idev.excel.test.util.TestFileUtil; -import lombok.*; - import java.util.ArrayList; import java.util.List; +import lombok.*; /** * @author zz_zhi @@ -45,5 +44,4 @@ public static class DemoModel { @ExcelProperty("test") private String test; } - } diff --git a/fastexcel/src/main/java/cn/idev/excel/annotation/write/style/HeadStyle.java b/fastexcel/src/main/java/cn/idev/excel/annotation/write/style/HeadStyle.java index 455fe8dc9..b79b82e34 100644 --- a/fastexcel/src/main/java/cn/idev/excel/annotation/write/style/HeadStyle.java +++ b/fastexcel/src/main/java/cn/idev/excel/annotation/write/style/HeadStyle.java @@ -5,14 +5,14 @@ import cn.idev.excel.enums.poi.FillPatternTypeEnum; import cn.idev.excel.enums.poi.HorizontalAlignmentEnum; import cn.idev.excel.enums.poi.VerticalAlignmentEnum; +import cn.idev.excel.write.handler.impl.HiddenShellWriteHandler; +import cn.idev.excel.write.metadata.holder.WriteSheetHolder; +import cn.idev.excel.write.metadata.holder.WriteWorkbookHolder; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; - -import cn.idev.excel.write.handler.context.CellWriteHandlerContext; -import cn.idev.excel.write.handler.impl.HiddenShellWriteHandler; import org.apache.poi.ss.usermodel.BuiltinFormats; import org.apache.poi.ss.usermodel.FillPatternType; import org.apache.poi.ss.usermodel.IgnoredErrorType; @@ -34,7 +34,7 @@ /** * Set the cell's using this style to be hidden - * @see HiddenShellWriteHandler#afterCellDispose(CellWriteHandlerContext) + * @see HiddenShellWriteHandler#afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) */ BooleanEnum hidden() default BooleanEnum.DEFAULT; diff --git a/fastexcel/src/main/java/cn/idev/excel/write/metadata/holder/AbstractWriteHolder.java b/fastexcel/src/main/java/cn/idev/excel/write/metadata/holder/AbstractWriteHolder.java index f4cea05ab..0835aefce 100644 --- a/fastexcel/src/main/java/cn/idev/excel/write/metadata/holder/AbstractWriteHolder.java +++ b/fastexcel/src/main/java/cn/idev/excel/write/metadata/holder/AbstractWriteHolder.java @@ -285,7 +285,7 @@ protected void initAnnotationConfig(List handlerList, WriteBasicPa dealColumnWidth(handlerList); } - //fix #116 + // fix #116 handlerList.add(new HiddenShellWriteHandler()); dealStyle(handlerList); From 05899817b388e910c4b1b91212f9d5cfb1a21ba3 Mon Sep 17 00:00:00 2001 From: zz_zhi Date: Fri, 1 Aug 2025 11:32:23 +0800 Subject: [PATCH 4/9] fix: hidden row (#116) --- .../test/fix/issue116/HiddenRowTest.java | 53 ++++++++++++++ .../test/fix/issue116/HiddenShellTest.java | 4 +- .../handler/impl/HiddenRowWriteHandler.java | 73 +++++++++++++++++++ 3 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java create mode 100644 fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java diff --git a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java new file mode 100644 index 000000000..069d2b11c --- /dev/null +++ b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java @@ -0,0 +1,53 @@ +package cn.idev.excel.test.fix.issue116; + +import cn.idev.excel.EasyExcel; +import cn.idev.excel.annotation.ExcelProperty; +import cn.idev.excel.annotation.write.style.HeadStyle; +import cn.idev.excel.enums.BooleanEnum; +import cn.idev.excel.test.util.TestFileUtil; +import cn.idev.excel.write.handler.impl.HiddenRowWriteHandler; +import java.util.ArrayList; +import java.util.List; +import lombok.*; +import org.junit.jupiter.api.Test; + +/** + * @author zz_zhi + */ +public class HiddenRowTest { + + @Test + public void test() { + String fileName = TestFileUtil.getPath() + "hiddenRowTest" + System.currentTimeMillis() + ".xlsx"; + List dataList = new ArrayList<>(); + HiddenRowWriteHandler hiddenRowWriteHandler = new HiddenRowWriteHandler(); + for (int i = 2; i <= 50; i++) { + String category = "我是姓名" + i; + DemoModel exportModel = new DemoModel(category, i, "test-" + i); + dataList.add(exportModel); + if (i % 5 == 0) { + hiddenRowWriteHandler.addHiddenColumns(i - 2); + } + } + EasyExcel.write(fileName, DemoModel.class) + .sheet("模板") + .registerWriteHandler(hiddenRowWriteHandler) + .doWrite(dataList); + } + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class DemoModel { + + @ExcelProperty("名字") + @HeadStyle(hidden = BooleanEnum.TRUE) + private String name; + + @ExcelProperty("年龄") + private Integer age; + + @ExcelProperty("test") + private String test; + } +} diff --git a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java index 1ed5c069e..32fbe881e 100644 --- a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java +++ b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java @@ -8,13 +8,15 @@ import java.util.ArrayList; import java.util.List; import lombok.*; +import org.junit.jupiter.api.Test; /** * @author zz_zhi */ public class HiddenShellTest { - public static void main(String[] args) { + @Test + public void test() { String fileName = TestFileUtil.getPath() + "hiddenShellTest" + System.currentTimeMillis() + ".xlsx"; EasyExcel.write(fileName, DemoModel.class).sheet("模板").doWrite(listDemoModel()); } diff --git a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java new file mode 100644 index 000000000..fa4f9e241 --- /dev/null +++ b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java @@ -0,0 +1,73 @@ +package cn.idev.excel.write.handler.impl; + +import cn.idev.excel.write.handler.RowWriteHandler; +import cn.idev.excel.write.metadata.holder.WriteSheetHolder; +import cn.idev.excel.write.metadata.holder.WriteTableHolder; +import java.util.*; +import lombok.Getter; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.Row; + +/** + * @author zz_zhi + */ +@Getter +public class HiddenRowWriteHandler implements RowWriteHandler { + /*** + * sheetNo + */ + private final Integer sheetNo; + + /*** + * sheetName + */ + private final String sheetName; + + private Collection hiddenColumns = new ArrayList<>(); + + public HiddenRowWriteHandler() { + this.sheetNo = null; + this.sheetName = null; + } + + public HiddenRowWriteHandler(Integer sheetNo, String sheetName) { + this.sheetNo = sheetNo; + this.sheetName = sheetName; + } + + public HiddenRowWriteHandler(Integer sheetNo, String sheetName, Collection hiddenColumns) { + if (CollectionUtils.isNotEmpty(hiddenColumns)) { + this.hiddenColumns = hiddenColumns; + } + this.sheetNo = sheetNo; + this.sheetName = sheetName; + } + + public HiddenRowWriteHandler addHiddenColumns(Collection hiddenColumns) { + this.hiddenColumns.addAll(hiddenColumns); + return this; + } + + public HiddenRowWriteHandler addHiddenColumns(Integer hiddenColumn) { + this.hiddenColumns.add(hiddenColumn); + return this; + } + + @Override + public void afterRowDispose( + WriteSheetHolder writeSheetHolder, + WriteTableHolder writeTableHolder, + Row row, + Integer relativeRowIndex, + Boolean isHead) { + boolean isSheetName = + (null == sheetName || StringUtils.equals(this.sheetName, writeSheetHolder.getSheetName())); + boolean isSheetNo = (null == sheetNo || Objects.equals(this.sheetNo, writeSheetHolder.getSheetNo())); + if (isSheetName && isSheetNo) { + if (hiddenColumns.contains(relativeRowIndex)) { + row.setZeroHeight(true); + } + } + } +} From da29aa11bea9443d3c98bdbe4c11b4cf94a0d18b Mon Sep 17 00:00:00 2001 From: zz_zhi Date: Fri, 1 Aug 2025 11:37:07 +0800 Subject: [PATCH 5/9] fix: hidden row (#116) --- .../excel/write/handler/impl/HiddenRowWriteHandler.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java index fa4f9e241..d7f135618 100644 --- a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java +++ b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java @@ -61,11 +61,14 @@ public void afterRowDispose( Row row, Integer relativeRowIndex, Boolean isHead) { + if (CollectionUtils.isEmpty(this.hiddenColumns)) { + return; + } boolean isSheetName = - (null == sheetName || StringUtils.equals(this.sheetName, writeSheetHolder.getSheetName())); - boolean isSheetNo = (null == sheetNo || Objects.equals(this.sheetNo, writeSheetHolder.getSheetNo())); + (null == this.sheetName || StringUtils.equals(this.sheetName, writeSheetHolder.getSheetName())); + boolean isSheetNo = (null == this.sheetNo || Objects.equals(this.sheetNo, writeSheetHolder.getSheetNo())); if (isSheetName && isSheetNo) { - if (hiddenColumns.contains(relativeRowIndex)) { + if (this.hiddenColumns.contains(relativeRowIndex)) { row.setZeroHeight(true); } } From 17a22ace41c7234a0f9253ec45b918cb58cdb4ee Mon Sep 17 00:00:00 2001 From: poo0054 Date: Fri, 1 Aug 2025 11:45:45 +0800 Subject: [PATCH 6/9] Update fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java good Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../idev/excel/write/handler/impl/HiddenShellWriteHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java index 49cef2aa2..46c161d2d 100644 --- a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java +++ b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java @@ -10,7 +10,7 @@ import org.apache.poi.ss.usermodel.Sheet; /** - * hidden she'll row + * Hides columns in the sheet. * * @author zz_zhi * @see HeadStyle#hidden() From 3e7646c4ea8aed8ed7e5d73f89ba59e1fb004852 Mon Sep 17 00:00:00 2001 From: zz_zhi Date: Mon, 11 Aug 2025 16:02:19 +0800 Subject: [PATCH 7/9] style: code style --- .../java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java | 6 ++++-- .../cn/idev/excel/test/fix/issue116/HiddenShellTest.java | 6 ++++-- .../excel/write/handler/impl/HiddenRowWriteHandler.java | 2 +- .../excel/write/handler/impl/HiddenShellWriteHandler.java | 1 - 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java index 069d2b11c..0f399b78b 100644 --- a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java +++ b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java @@ -8,11 +8,13 @@ import cn.idev.excel.write.handler.impl.HiddenRowWriteHandler; import java.util.ArrayList; import java.util.List; -import lombok.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; import org.junit.jupiter.api.Test; /** - * @author zz_zhi + * @see HiddenRowWriteHandler */ public class HiddenRowTest { diff --git a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java index 32fbe881e..5e489b940 100644 --- a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java +++ b/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java @@ -7,11 +7,13 @@ import cn.idev.excel.test.util.TestFileUtil; import java.util.ArrayList; import java.util.List; -import lombok.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; import org.junit.jupiter.api.Test; /** - * @author zz_zhi + * @see cn.idev.excel.write.handler.impl.HiddenShellWriteHandler */ public class HiddenShellTest { diff --git a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java index d7f135618..01f03acc5 100644 --- a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java +++ b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java @@ -10,7 +10,7 @@ import org.apache.poi.ss.usermodel.Row; /** - * @author zz_zhi + * Hides rows in the sheet. */ @Getter public class HiddenRowWriteHandler implements RowWriteHandler { diff --git a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java index 46c161d2d..feb5bf96b 100644 --- a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java +++ b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenShellWriteHandler.java @@ -12,7 +12,6 @@ /** * Hides columns in the sheet. * - * @author zz_zhi * @see HeadStyle#hidden() */ public class HiddenShellWriteHandler implements SheetWriteHandler { From 687c539d8fdcc5a2a2540d55bf372dca36a3350e Mon Sep 17 00:00:00 2001 From: zz_zhi Date: Mon, 11 Aug 2025 16:07:50 +0800 Subject: [PATCH 8/9] fix: merge --- .../test/java/cn/idev/excel}/fix/issue116/HiddenRowTest.java | 2 +- .../test/java/cn/idev/excel}/fix/issue116/HiddenShellTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename {fastexcel-test/src/test/java/cn/idev/excel/test => fastexcel/src/test/java/cn/idev/excel}/fix/issue116/HiddenRowTest.java (97%) rename {fastexcel-test/src/test/java/cn/idev/excel/test => fastexcel/src/test/java/cn/idev/excel}/fix/issue116/HiddenShellTest.java (97%) diff --git a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java b/fastexcel/src/test/java/cn/idev/excel/fix/issue116/HiddenRowTest.java similarity index 97% rename from fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java rename to fastexcel/src/test/java/cn/idev/excel/fix/issue116/HiddenRowTest.java index 0f399b78b..67ff93467 100644 --- a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenRowTest.java +++ b/fastexcel/src/test/java/cn/idev/excel/fix/issue116/HiddenRowTest.java @@ -1,4 +1,4 @@ -package cn.idev.excel.test.fix.issue116; +package cn.idev.excel.fix.issue116; import cn.idev.excel.EasyExcel; import cn.idev.excel.annotation.ExcelProperty; diff --git a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java b/fastexcel/src/test/java/cn/idev/excel/fix/issue116/HiddenShellTest.java similarity index 97% rename from fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java rename to fastexcel/src/test/java/cn/idev/excel/fix/issue116/HiddenShellTest.java index 5e489b940..fe262f5b0 100644 --- a/fastexcel-test/src/test/java/cn/idev/excel/test/fix/issue116/HiddenShellTest.java +++ b/fastexcel/src/test/java/cn/idev/excel/fix/issue116/HiddenShellTest.java @@ -1,4 +1,4 @@ -package cn.idev.excel.test.fix.issue116; +package cn.idev.excel.fix.issue116; import cn.idev.excel.EasyExcel; import cn.idev.excel.annotation.ExcelProperty; From c23fda28001c6781de320e058158a4d6714b8447 Mon Sep 17 00:00:00 2001 From: zz_zhi Date: Mon, 11 Aug 2025 16:10:50 +0800 Subject: [PATCH 9/9] fix: import * --- .../idev/excel/write/handler/impl/HiddenRowWriteHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java index 01f03acc5..5c9e47489 100644 --- a/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java +++ b/fastexcel/src/main/java/cn/idev/excel/write/handler/impl/HiddenRowWriteHandler.java @@ -3,7 +3,9 @@ import cn.idev.excel.write.handler.RowWriteHandler; import cn.idev.excel.write.metadata.holder.WriteSheetHolder; import cn.idev.excel.write.metadata.holder.WriteTableHolder; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Objects; import lombok.Getter; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -14,6 +16,7 @@ */ @Getter public class HiddenRowWriteHandler implements RowWriteHandler { + /*** * sheetNo */