嵌入式与引入式报表那点区别
问题背景
近日在解决客户问题的过程中,对润乾提出的嵌入式与引入式两种类型报表出现了几点疑问,它们的区别都有什么呢?在我们学习润乾报表初级课程的时候,包含在9.3章节主子表的介绍中,如下:
嵌入式主子报表:特点是在单元格中嵌入子报表,形成格中嵌表的模式,子报表和母报表的格线可以不对齐,子表间格线也不对齐。嵌入式的子报表扩展后,是个独立的报表,因此子表源格一直保留着,母报表可以访问子报表的值。
引入式子报表:特点是母报表单元格根据子报表的行数列数,双向同时扩展,子报表有几行几列,母报表中就扩展出几行几列,子报表占用母报表的空白行列,格线严格对齐。引入式的子报表扩展后,和母报表形成了一个统一的二维矩形单元格,因此子报表的源格不保留,此时母报表不能访问子报表的值。
本文需要说明的是除了上面文档里介绍的区别之外,就是这两种不同类型的报表在导出的时候也会有所不同,下面会通过一个实例做一下阐述说明。
问题实例:
首先见一个母报表,如下图:
上面在母报表中选择一个子报表分别进行嵌入式和引入式。
再做一张子报表,如下图:
这样一个有着嵌入式和引入式的报表模板就都做完了,这时候我们利用报表设计器中自带的浏览器浏览该报表,如下图:
大家会看到,直接在IE上去浏览这个报表并不会发现有什么大的区别,但是会根据嵌入式和引入式的特点看出嵌入报表不会拉伸母表单元格而引入式母表的单元格被拉伸了,还有什么区别呢?报表在页面展示完毕后,往往我们还是需要做导出操作的,那让我们再看看导出的效果如何,这里我们选择导出不分页的Excel文件,如下图:
总结:
通过上面的实例可以看出,嵌入式与引入式的另一个大的区别,就是在导出时是否可编辑。当我们清楚这两种子报表的区别,会帮助我们针对不同的实际需求灵活的去实现具体功能。