分享Excel服务器开发中的思路和原则(一)
第一次去清华大学参加勤哲官方培训的时候,我就意识到“勤哲上的开发,关键是设计思想和思路”
目前公司的Excel平台已经开发了很多内容了,其中有很多设计思路都是我自己的原创,在这里总结和分享一下。
思路篇
1,导航框图的实现(结合链接功能)
2,流程导航图
原则篇
1,不要忘了结合Excel自有公式,说不定才是最优解决方案
勤哲软件结合了SQLServer,对数据的处理方式可以说是突破性的,尤其是数据规范,将Excel的下拉菜单等功能简化成了傻瓜版的,还有强大的列表/树形。但是,勤哲没必要也不可能把所有的Excel自有公式秒杀,因此,千万不要在紧抱勤哲爱不释手的同时,对Excel自有公式弃之不顾;因为你会发现,有时候勤哲并不是万能的……这时候,你要跳出来,换一个思路,换一个解决方案。
示例1:
统计ⅠⅡ Ⅲ Ⅳ 分别有几条记录,填入相应的位置;逻辑如图。
乍一看,这在Excel表格中不是最简单的统计题吗?
分别写上公式:
=COUNTIF(副页!_ESF330,"Ⅰ")=COUNTIF(副页!_ESF330,"Ⅱ")=COUNTIF(副页!_ESF330,"Ⅲ")=COUNTIF(副页!_ESF330,"Ⅳ")
不就OK了吗?
唉,其实问题就是这么简单的解决的!
悲剧的是,我们在勤哲中设计模板的时候经常看不到这一点,因为我们会陷入勤哲的思维定势中去。
一方面,模板A已经将数据保存到数据库中了,并不是我们在同一个Excel中看到的那样的表格。
也就是说数据是“隐形的”勤哲定势思维如下:
我们现在要在模板B中统计模板A 的数据,肯定要用到表间公式
表间公式的数据来源肯定是模板A的数据表,既然是统计我们自然要用勤哲的统计公式
可惜,勤哲的统计公式貌似无法统计ⅠⅡ Ⅲ Ⅳ啊!
这个问题困惑了我好久,问了勤哲的服务工程师也都没辙,过了N天……
今天我突然想到了将数据由隐形现出原形并结合Excel自有统计公式的方法,轻而易举的解决了这个问题。
解决方案:
在模板B中找一块空地,调出模板A的数据;直接写上上文中的四个公式=COUNTIF……即可解决。
示例2:
第一行公式:
=IF(B2="","",1)
第二行公式:
=IF(B3="","",A2+1)
……后面依此类推