最近在研究报表工具的制作,最后决定采用OWC,也就是Office Web Components中的spreadsheet控件,找了好半天,发现这个控件的实例太少了,于是自己研究。遇到的首要问题就是控件属性Activesheet为空或不为对象,怒了,找了所有的资料都找不到解决方法,只有自己研究。 <object id="MySpreadSheet" classid="clsid:0002E559-0000-0000-C000-000000000046" style="width: 100%;
height: 421px">
</object>代码没有任何问题,想到这种附加的控件遇到属性为空或不为对象的问题的话,十有八九是因为控件没有注册引起的,而OWC是OFFICE自带的控件,想了好久,研究了好长时间,各种方案都试过了。最后抱着试一试的态度,用regsvr32注册DLL,具体方法是输入CMD,在命令行里输入regsvr32空格,然后在C:/Program Files/Common Files/Microsoft Shared/Web Components/11路径下找到OWC11.DLL,拖入命令行,回车。注册完毕后运行,发现可以使用了,他爷爷的,累死我了。
之后说说spreadsheet绑定EXCEL XML数据源的问题,我的解决方案是使用xmlurl属性,放弃xmldata属性,xmlurl后面加上XML路径,至于说运行时提示跨域访问的问题,就很简单解决了,不再赘述。。。。