对于销售人员,使用Excel创建发票是很常见的。但是该过程通常涉及许多容易出错的手动操作,例如输入数据,复制/粘贴等。如何实现一个可以将数据从数据库自动填充到发票Excel模板中,而无需再辛苦手动输入,从繁重的手动录入中解脱出来,并且避免认为错误这是每个人迫切的需求。虫虫一直奉行理念:真正的自动化是解决用户痛点问题,把繁重人工劳动释放出来。本文我们就介绍一个老外的利用Java编写自动化程序实现自动化发票生成器的案例,案例中创建了一个Web应用程序Invoice Builder,并利用Excel模版文件,Java和Keikai将这种手动发票录入过程转换为集成的自动化过程。
总体架构
下图显示了发票生成器应用程序的体系:
首先,导入一个源Excel文件,其中包含2个空表,客户表和产品表。业务员将从这两个表中选择客户和产品。
接着,根据数据库查询,将客户和产品数据填充到相应的表中。
最后,导入2个发票模板;它们是业务员在Excel中创建的。这些模板将在以后使用。
工作流程:选择客户和产品后,应用将通过将客户和产品数据与所选发票模板结合在一起来创建发票。
应用的动图示例如下:
MVC模式
Keikai也支持MVC模式,在本应用MVC模式,具体如下:
视图:用ZUL编写的XML文件。ZK将zul文件转换为UI组件并在浏览器中呈现。
控制器:扩展ZK的Java类,SelectorComposer用于监听View触发的事件并控制ZK UI组件。通过Spreadsheet和RangeAPI控制Keikai。
模型:本实例中是CustomerService,但是它也可以是任何其他的Java业务类,例如身份验证,数据查询等。
具体实现
构建界面UI
界面UI构建中在实际选择了zul,当然也可以选择纯Java(例如Swing