谈谈.NET

分享是一种快乐

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

目的:通过OriginLab计算一些数据,然后获取计算结果,并将结果保存在Excel文件中生成报表。

分析:Com互操作,通过CreateObject(通过CreateObject的方法可以回避被调用程序的版本问题,但是缺陷是效率较低)方法创建Com对象,然后调用其方法或者属性... ...

难点:打开OriginLab后需要执行较复杂的操作,无法通过OriginLab的Com接口直接操作。

解决方案:利用OriginLab的打开项目文件,可以自动编译脚本的特性。创建项目文件,使用C作为脚本语言编写计算操作的函数,该函数将计算结果保存的OriginLab的Worksheet中。
使用VB.NET打开OriginLab,然后Load事先保存的项目文件,当文件被打开后自动编译了文件中的C脚本,接着将准备好的数据通过OriginLab的PutWorksheet方法传递到OriginLab中,再使用originLab.Execute(funcname)方法调用项目文件中的自定义函数,接着从指定的Worksheet中读取计算结果并返回给调用程序。最后就是与Excel对象的互操作,这个就不说了,一搜一大堆... ...

心得
1. 使用VB.NET的CreateObject方法创建Com对象,可以避免版本的干扰,缺点就是效率太低。
2. 关于如何使OriginLab自动计算,刚开始从Com接口入手,整整一天没有任何收获,后来,换个角度,从OriginLab自身的特性入手,问题迎刃而解,切记:不要钻牛角尖

posted on 2006-03-01 21:24  谈谈.NET  阅读(1702)  评论(0)    收藏  举报