java对象的通用导出到Excel
在我们的spring项目中,有许多控制器接收客户机输入(过滤器),这将从DB创建动态查询,结果集将返回给客户机 例如:java对象的通用导出到Excel,java,excel,spring,jakarta-ee,export-to-excel,Java,Excel,Spring,Jakarta Ee,Export To Excel,在我们的spring项目中,有许多控制器接收客户机输入(过滤器),这将从DB创建动态查询,结果集将返回给客户机 例如: public List<UserResultDTO> getUsers(Filter filter); public List<TransactionResultDTO> getTransactions(Filter filter); public List<ProfileResultDTO> getProfile(Filter filter
public List<UserResultDTO> getUsers(Filter filter);
public List<TransactionResultDTO> getTransactions(Filter filter);
public List<ProfileResultDTO> getProfile(Filter filter);
公共列表getUsers(过滤器过滤器);
公共列表getTransactions(过滤器过滤器);
公共列表getProfile(过滤器);
我们的新要求非常简单:
“请允许将这些结果列表导出到excel文件”
导出到excel文件的整个想法已经完成。(我们有一个非常强大的Excel提供程序)
因此,我们的目标基本上是创建一个非常通用的函数\服务,它将获取一个列表,并能够以通用的方式导出它
你知道这类任务的最佳实践是什么吗
心中的想法:
1) 创建一个枚举,该枚举将包含每个模型对象的所有配置和列名(看起来非常冗余和维护地狱)
2) 也许可以使用反射?甚至可以对Excel列名的字段使用注释
3) 其他的
谢谢 当然不是枚举;这将增加一种人为的相互依赖性:如果一些独立的DTO被更改,枚举将被访问几次 其中,元信息存储为与DTO类并行的Java类。这尤其适用于这种情况。但可能是杀伤力太大了 因此,它可能归结为您自己的适配器,使用反射提供合理的输出。以及使用声明方式自动检测到的改进:
- (不太好)DTO中的注释(DTO是如何开发的?)
- 具有完整类名的XML或.properties;每个类一个XML