microsoft office infopath 2003初探-----惊恐微软的技术垄断
Author: gnicky URL: http://blog.csdn.net/loconfuse/
前言:
在这里写infopath2003,希望不会有人砸我,只是希望有兴趣的各位同仁过来看看,而对微软嗤之以鼻的哥们姐们有耐心也看看,要不就请绕道而过。
介绍:
infopath在office 2003中出现,我是第一次接触infopath,这些工具软件的更新实在太快!Microsoft office infopath 2003是一种新的应用程序,它通过丰富的动态的业务表单简化信息采集,信息使用和信息共享,infopath可以使工作小组或者公司:
更有效并准确地采集信息
在公司中的不同业务流程之间共享信息(这点我个人的理解是,通过常见的文件形式,也就是excel/XML文件保存的数据具有非常大的通用性,为企业业务整合提供了数据兼容的能力)
更加灵活地管理信息(数据格式的多元化,数据发布的自主性)
充分利用现有的IT资源(应该说,现在很多的企业在IT化的道路上尝试了很多,但是最大的问题是信息孤岛,如何将这些资源利用起来就显得非常重要,我想infopath不可能担当这样的重任,但可以在中间穿针引线)
过程:
初探infopath的过程。发现infopath,是在这次安装office 2003的时候,也是第一次发现microsoft的这个产品,就简单地浏览了下说明,关系到XML,Webservice因此就有了infopath初探。
如果打开infopath的教程,你会发现其中的内容非常之少,教程使用flash制作的,非常精美,与以往的office教程不同。很快就可以看完,总之有个感觉,微软想表达一个想法,infopath非常简洁,非常实用!大家对office系列的产品应该比较熟悉,就会明白一个道理,access,power point等工具软件,可以非常简单地使用,操作非常人性化,但是只要愿意努力,使用这些"简单"的office软件也能够制作出小型企业使用的数据管理系统(Access),也能够制作出精美的多媒体作品(PPT)。infopath也不例外,毕竟它们多出自微软之手!感叹微软在操作系统办公平台上的垄断能力,包括市场、技术。
昨日,简单地尝试了教程中的填写表单、设计表单两项常规内容。设计的方法很多,多是可视化的操作界面,对于一般的office用户进行简单的培训,也许就可以设计中公司常用的所有表单,同时这些表单还具备了数据检验等,而这些数据又可以通过配置存储到数据库中。
而表单的填写既可以在公共的网络资源上获取表单然后填写,也可以通过被发布成web页面的表单来输入,保存。
下面我们看一下如何使用webservice作为数据源,通过设计好的表单格式显示数据报表,大家以后肯定会很开心的,因为报表的设计有了更简单的工具,开发人员要处理的只是数据获取,显示交给领域专家吧!·
在我的电脑上通过C#.net建立web service,提供访问的是我电脑上的数据库pubs中的authors表,返回了整个Dataset数据集。在安装了infopath2003的电脑上,选择位于同一局域网内的我的电脑,设定getauthors 的webservice.(infopath好像不动了,估计是web service的访问出现了问题,有些奇怪,今天居然使用IP地址不可以,非要用到电脑名,修改ip地址为名字,问题解决)
InfoPath 不支持内嵌架构的 XML 数据文件。若要使用内嵌架构,可创建仅包含该内嵌架构信息的单独的XML 架构。然后可以将该 XML 架构作为新表单模板的数据源。这是infopath显示的错误提示,也许是对dataset的复杂结构不支持,修改web service,返回string。table是不可串行化的,view也是不可以的,所以用了string。
在infopath的新建设计表单, 选择根据数据源新建,选择web服务,然后选择提取数据(有提交数据,提交提取混合),输入web服务的URL之后,就可以通过可视的数据源(包括数据字段来设计显示数据的格式了)。
因为我设计的webservice是返回一个字符串的,因此界面简单,各位可以自己设置复杂的格式。提醒下,在这种情况下通过预览是不会发现数据绑定的,将其保存,然后打开,下图是打开表单的状态
结果:
小实践:
最后,我想说,如果各位感兴趣,可以作些简单的尝试,比如使用infopath建立个人的账册程序,可以通过BS的方式也可以通过CS的方式,最简单的也可以通过设计表单,表单分析等文件直接访问方式。用自己开发的小程序管理自己的收支平衡,捂紧钱包哦。
PS假如我有时间制作一个,我会把它放到网上的
-----发现当sp2的防火墙打开的时候,需要调用的web service无法发现!
-----要记住一点,当按下另存为的时候,这个表单数据以后再按保存好像就是不能提交的了,提交必须发生在对初始表模版输入数据的时候:)