AX提供了丰富的报表方式,内置X++开发的报表、基于微软ReportingService的报表、每个界面都可以导出Excel、Management Reporter。实施ERP最主要的二开工作就是完成一堆的报表,我们的用户希望能够实现Excel报表,还需要带图片等。
- 最简单的方式是使用com调用,就是在机器上安装office,New一个excel对象出来。
- 使用Aspose、NPOI等第三方控件实现
由于在早年做过类似的东东,所以比较倾向使用第三方控件。结果测试下来,第三方控件,优势太大了。主要如下:
- com调用时,如果前端正在使用 excel,立马出问题。当你在远程桌面中多用户使用时,根不知道哪出问题。
- com调用close后,经常进程没关闭,要不你用任务管理器kill,要不重启电脑
- com速度实在慢,1万条记录以后,就不能接受
- 插入图片并控制时,折腾了好长时间无法实现。
- 劣势:npoi有学习成本,并且需要封装后才能在AX是使用。
系统尽可能要让用户感觉到爽,代码人员辛苦点,能接受,整个项目下来,Npoi应用还是非常赞的。