我们知道,如果表格中包含了公式(比如 ODATA 公式,或者 Excel 公式),那么在执行“导出表格到Excel”命令时,就会发现公式的值不会导出。具体表现如 图1,图2 所示:
针对以上问题,通常的做法是:采用“导出页面到Excel”命令。
但是,有人会问:除了导出页面,还有没有其它办法呢?
庆幸,办法倒是有,实现起来也不难,但是,这当中原理若要讲明白,就不太容易。
其实,概括起来,无非两个步骤:
第一,创建一张临时数据表,将业务数据写入该数据表。
第二,导出临时数据表中数据,以实现数据导出功能。
且看 图3,我们将业务数据写入“数据导出辅助表”,这里存放着我们最终将要导出的数据。
可是为什么还引入了“数据导出识别码”呢?
因为,这是一张通用表,如果、假如、万一,多个人同时写入相同的数据,我们怎么鉴定哪些是我需要的数据,哪些是别人写入的数据呢?
所以,我们为每一次操作都添加了“数据导出识别码”,这个识别码是唯一的,即使对同一个用户的多次操作,也是不会重复的。
最终,凭借这个识别码,我们就能过滤出当前用户对应的数据。
到这里,数据准备工作已经完成,也就是我们前面提及的“第一”步骤完成。
下面来看“第二”步骤。
这个简单,就是设置一个查询条件,根据“数据导出识别码”,过滤出将要导出的数据,然后将表格内容导出即可。
图4 用于过滤将要导出的数据,图5 则是导出后的效果,是不是和页面中展示的内容完全一致呢?
|