This is an automated email from the ASF dual-hosted git repository.

delei pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fesod.git


The following commit(s) were added to refs/heads/main by this push:
     new f673fcbd fix: correct CSV physical cell count (#907)
f673fcbd is described below

commit f673fcbdb19de72ecb1f9f6cfe0d5176a70b2848
Author: Minseok Song <[email protected]>
AuthorDate: Wed May 6 00:03:12 2026 +0900

    fix: correct CSV physical cell count (#907)
---
 .../apache/fesod/sheet/metadata/csv/CsvRow.java    |  2 +-
 .../org/apache/fesod/sheet/csv/CsvFormatTest.java  | 26 ++++++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git 
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRow.java 
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRow.java
index 1a79220d..1d11ad30 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRow.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvRow.java
@@ -140,7 +140,7 @@ public class CsvRow implements Row {
 
     @Override
     public int getPhysicalNumberOfCells() {
-        return getRowNum();
+        return cellList.size();
     }
 
     @Override
diff --git 
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java 
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
index 3baefab6..63727bac 100644
--- a/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
+++ b/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
@@ -25,6 +25,7 @@ import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.nio.file.Files;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import lombok.extern.slf4j.Slf4j;
@@ -43,8 +44,11 @@ import 
org.apache.fesod.sheet.read.metadata.holder.csv.CsvReadWorkbookHolder;
 import org.apache.fesod.sheet.support.ExcelTypeEnum;
 import org.apache.fesod.sheet.util.DateUtils;
 import org.apache.fesod.sheet.util.TestFileUtil;
+import org.apache.fesod.sheet.write.handler.WorkbookWriteHandler;
+import 
org.apache.fesod.sheet.write.handler.context.WorkbookWriteHandlerContext;
 import org.apache.fesod.sheet.write.metadata.WriteSheet;
 import org.apache.fesod.sheet.write.metadata.holder.WriteWorkbookHolder;
+import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
@@ -195,6 +199,28 @@ public class CsvFormatTest {
         writeWithCommonCsv(csvFile, csvFormat, dataList(10, STRING_PREFIX));
     }
 
+    @Test
+    public void testPhysicalNumberOfCells() {
+        csvFile = TestFileUtil.createNewFile(CSV_BASE + 
"csv-physical-cell-count.csv");
+        List<List<String>> head = Arrays.asList(Arrays.asList("No"), 
Arrays.asList("Name"), Arrays.asList("Age"));
+        List<List<String>> data = Arrays.asList(Arrays.asList("1", "Jackson", 
"20"));
+
+        FesodSheet.write(csvFile)
+                .head(head)
+                .registerWriteHandler(new WorkbookWriteHandler() {
+                    @Override
+                    public void 
afterWorkbookDispose(WorkbookWriteHandlerContext context) {
+                        Row row = context.getWriteWorkbookHolder()
+                                .getWorkbook()
+                                .getSheetAt(0)
+                                .getRow(0);
+                        Assertions.assertEquals(3, 
row.getPhysicalNumberOfCells());
+                    }
+                })
+                .csv()
+                .doWrite(data);
+    }
+
     private void doTest(
             boolean isCreate,
             File csvFile,


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to