Java Excel上载,包含多个场景和验证

Java Excel上载,包含多个场景和验证,java,Java,我需要用Java开发代码,它应该能够执行以下操作: 1) 在我的应用程序中有一个新的要求,用户将上传一个excel表格,其中将包含以下字段 国家、阈值、增量值、开始日期和结束日期。 基本上,本表将包含给定日期范围内每个发行国的阈值。这些日期范围通常为一个季度(但用户也可以上传多张不同日期范围的工作表。) 有以下多种情况: 比如说,用户上传了第一张德国excel表格,日期范围为2014年1月1日至2014年3月31日,阈值为400,增量值为10。 因此,我设计了一个数据库表,它将值存储在以下列中

我需要用Java开发代码,它应该能够执行以下操作:

1) 在我的应用程序中有一个新的要求,用户将上传一个excel表格,其中将包含以下字段

国家、阈值、增量值、开始日期和结束日期。 基本上,本表将包含给定日期范围内每个发行国的阈值。这些日期范围通常为一个季度(但用户也可以上传多张不同日期范围的工作表。)

有以下多种情况:

比如说,用户上传了第一张德国excel表格,日期范围为2014年1月1日至2014年3月31日,阈值为400,增量值为10。 因此,我设计了一个数据库表,它将值存储在以下列中

issuerCountry、thresholdVal、IncrementalVal、开始日期、结束日期和更新日期

2) 现在,假设用户在另一天再次上传日期范围为2014年1月10日至2014年1月28日的excel表格,其阈值不同(比如200)。现在应该发生以下事情:

i) 我需要将数据库中的previos条目修改为值400,以反映2014年1月1日和2014年1月9日的开始日期和结束日期(比2014年1月10日少1个)。这将是一个update语句。现在我需要插入一条阈值为 200,开始日期为2014年1月10日,结束日期为2014年1月28日。还有一个insert语句 转售价值为400(首次上传),开始日期为2014年1月29日,结束日期为2014年3月31日

所以从上面的解释来看:总结是

Excel上载开始日期结束日期阈值 1次2014年1月1日2014年1月31日400 2次(1月10日至1月28日)2014年1月1日2014年1月9日400——这应该是将3月31日更改为3月9日的更新声明
2014年1月10日2014年1月28日200(这是第二页中的阈值)——应插入 29_2014年1月31日2014年3月400——这也应插入

所以,无论何时,只要发行人所在国家的excel中出现新的开始和结束日期,我都需要检查数据库中的现有记录,并检查新日期是否与现有日期重叠,如果重叠,则需要执行上述操作。可以有多个场景,比如 在数据库中,一个国家有两行,开始日期和结束日期分别为2014年1月1日至2014年1月20日和2014年1月21日至2014年2月2日,现在新日期为2014年1月12日至2014年1月26日,然后我需要将2014年1月20日更改为2014年1月11日,然后再插入一条从2104年1月12日到2014年1月26日的记录,一条从2014年1月27日到2014年2月2日的记录,另一条从2014年2月3日到2014年3月31日的记录


随着更多日期的重叠,这将变得复杂。你能为这种情况提出一些合适的解决方案吗。我必须为这个做一个设计演示。如能迅速提供帮助,我将不胜感激。谢谢。

好吧,我建议您获取包含EMF的最新Eclipse IDE的副本,并开始为您的应用程序设计模型。通过生成ecore图,您可以为您的演示生成非常可接受的UML图。 只要你想开始编程,你就可以生成模型(还有更多),实现一些业务逻辑来完成事情,并创建一个RCP或RAP项目来可视化你的东西

了解有关EMF的更多信息:


到目前为止,您尝试过什么?