@Data
public class AdKeywordHourExportVo {
@ExcelProperty(value = "小时")
private String label;
}
需求是不同情况导出时,@ExcelProperty中value值不同,直接上代码
Field filed = AdKeywordHourExportVo.class.getDeclaredField("label");
filed.setAccessible(true);
ExcelProperty annotation = filed.getAnnotation(ExcelProperty.class);
InvocationHandler invocationHandler = Proxy.getInvocationHandler(annotation);
Field memberValues = invocationHandler.getClass().getDeclaredField("memberValues");
memberValues.setAccessible(true);
Map<String, Object> map = (Map<String, Object>) memberValues.get(invocationHandler);
String[] valueArr = {"日期"};
map.put("value", valueArr);