yuzhi-jiang commented on PR #455:
URL: https://github.com/apache/fesod/pull/455#issuecomment-3342718058

   > > > DynamicColumn
   > > 
   > > 
   > > > > > DynamicColumn
   > > > > 
   > > > > 
   > > > > 之前没考虑过这个问题,但看代码应该是支持的,原本的convert方法都会被正常调用。
   > > > 
   > > > 
   > > > 代码还未合并,是哪一部分在生效呢,我要在当前version可以实现吗,通过SheetWriteHandler等方式啥的
   > > 
   > > 
   > > 不行,跟handler实现逻辑不一样。不确定owner什么时候会合并这个mergeRequest。想用的话可以fork我的分支 自己打包引用 
https://github.com/milixiang/fastexcel
   > 
   > 好的
   
   我clone你的项目后使用了FillTempTest的dynamicFill的数据,修改了导出方式,测试 
@ExcelProperty和@DynamicColumn,似乎没有生效
   ```
   public class DynamicFillData {
       @ExcelProperty("姓名")
       private String name;
       @ExcelProperty("编号")
       private double number;
       @DynamicColumn()
       private Map<String,String> qtyMap;
   
       @DynamicColumn()
       private Map<String,DynamicFillDataObj> priceMap;
   }
   
       @Test
       public void dynamicFill() {
           String templateFileName = 
"src/test/resources/fill/dynamicColumn.xlsx";
           String fileName = TestFileUtil.getPath() + "dynamicColumnFill" + 
System.currentTimeMillis() + ".xlsx";
   
           DynamicFillData fillData1 = new DynamicFillData();
           fillData1.setName("Zhang San");
           fillData1.setNumber(5.2);
           HashMap<String,String> qtyMap = new HashMap<>();
           qtyMap.put("2023-01-01", "100");
           qtyMap.put("2023-01-02", "200");
           qtyMap.put("2023-01-03", "300");
           fillData1.setQtyMap(qtyMap);
           HashMap<String,DynamicFillDataObj> priceMap = new HashMap<>();
           priceMap.put("2023-01-01", new DynamicFillDataObj("100个", 100));
           priceMap.put("2023-01-02", new DynamicFillDataObj("200个", 200));
           priceMap.put("2023-01-03", new DynamicFillDataObj("300个", 300));
           fillData1.setPriceMap(priceMap);
   
           DynamicFillData fillData2 = new DynamicFillData();
           fillData2.setName("Li Si");
           fillData2.setNumber(6.3);
           HashMap<String,String> qtyMap2 = new HashMap<>();
           qtyMap2.put("2023-01-01", "100");
           qtyMap2.put("2023-01-02", "200");
           qtyMap2.put("2023-01-03", "300");
           fillData2.setQtyMap(qtyMap2);
           HashMap<String,DynamicFillDataObj> priceMap2 = new HashMap<>();
           priceMap2.put("2023-01-01", new DynamicFillDataObj("100", 100));
           priceMap2.put("2023-01-02", new DynamicFillDataObj("200", 200));
           priceMap2.put("2023-01-03", new DynamicFillDataObj("300", 300));
           fillData2.setPriceMap(priceMap2);
   
           List<DynamicFillData> fillDataList = new ArrayList<>();
           fillDataList.add(fillData1);
           fillDataList.add(fillData2);
   
           ArrayList dateList = new ArrayList<>();
           dateList.add("2023-01-01");
           dateList.add("2023-01-02");
           dateList.add("2023-01-03");
           dateList.add("2023-01-04");
           dateList.add("2023-01-05");
           dateList.add("2023-01-06");
           dateList.add("2023-01-07");
           dateList.add("2023-01-08");
           dateList.add("2023-01-09");
           dateList.add("2023-01-10");
           dateList.add("2023-01-11");
           dateList.add("2023-01-12");
   
           FastExcel.write(fileName,DynamicFillData.class)
                   .excelType(ExcelTypeEnum.XLS)
                   .use1904windowing(Boolean.TRUE)
                   .sheet()
                   .doWrite(data());
       }
   
   
   ```
   <img width="373" height="262" alt="image" 
src="https://github.com/user-attachments/assets/185d0181-4021-43a4-8677-4db38e14e97c";
 />


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to