用法
x=@OLE('D:/cost.xls',f)
基中前面的x是你想要得到值的表达式,后面'D:/cost.xls'是你要读的数据所在的文件,f比较难理解,它是你在要读的文件中做的标记,在你要读的文件中主要是EXECEL中选中要读的数据选中后释放鼠标按钮,选择“插入|名称|定义”,输入f,输入的f一定要和程序中'D:/cost.xls'后面的f一样,不然它就认不出来了。
1、首先打开lingo,然后要调用下面这个excel表格。
2、lingo调用excel表格需要用到一个专用的函数@ole,改函数的调用模式是:name=@ole(‘路径’,‘name’),其中的路径是调用的文件的存储的地址,这个可以在该文件的属性里面找到其路径。
3、然后粘贴复制就可以了。
4、随后写完自己要提取文件中的名称,其中有时候还需要自己把lingo生成的数据返回到excel中去,这时候也是用@ole函数,不过格式恰好是反过来,@ole(‘路径’,‘名称’)=x,如图。
5、接下来打开要导入的excel文件,点击”公式“里面的”名称管理器“,新建需要的名称。
6、设置好名称好,随后把自己的程序编写完成后,点击运行,就完成了。
3.@ole 函数@OLE 是从EXCEL 中引入或输出数据的接口函数,它是基于传输的OLE技术。OLE
传输直接在内存中传输数据,并不借助于中间文件。当使用@OLE 时,LINGO 先装载
EXCEL,再通知EXCEL 装载指定的电子数据表,最后从电子数据表中获得Ranges。为
了使用OLE 函数,必须有EXCEL5 及其以上版本。OLE 函数可在数据部分和初始部分
引入数据。
@OLE 可以同时读集成员和集属性,集成员最好用文本格式,集属性最好用数值
格式。原始集每个集成员需要一个单元(cell),而对于n 元的派生集每个集成员需
要n 个单元,这里第一行的n 个单元对应派生集的第一个集成员,第二行的n 个单
元对应派生集的第二个集成员,依此类推。
@OLE 只能读一维或二维的Ranges(在单个的EXCEL工作表(sheet)中),但不能
读间断的或三维的Ranges。Ranges 是自左而右、自上而下来读。
例 4.16
sets:
PRODUCT!产品
MACHINE!机器
WEEK!周
ALLOWED(PRODUCT,MACHINE,WEEK):x,y!允许组合及属性
endsets
data:
rate=0.01
PRODUCT,MACHINE,WEEK,ALLOWED,x,y=@OLE('D:\IMPORT.XLS')
@OLE('D:\IMPORT.XLS')=rate
enddata
代替在代码文本的数据部分显式输入形式,我们把相关数据全部放在如下电子
数据表中来输入。下面是D:\IMPORT.XLS 的图表。
除了输入数据之外,我们也必须定义Ranges 名:PRODUCT,MACHINE,WEEK,
ALLOWED,x,y. 明确的,我们需要定义如下的Ranges 名:
Name Range
PRODUCT B3:B4
MACHINE C3:C4
WEEK D3:D5
ALLOWED B8:D10
X F8:F10
Y G8:G10
rate C13
为了在EXCEL 中定义Ranges 名:
① 按鼠标左键拖曳选择Range,
② 释放鼠标按钮,
③ 选择“插入|名称|定义”,
④ 输入希望的名字,
⑤ 点击“确定”按钮。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)