怎样在Lingo中导入Excel数据表?
3个回答
展开全部
@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,
② 释放鼠标按钮,
③ 选择“插入|名称|定义”,
④ 输入希望的名字,
⑤ 点击“确定”按钮。
我们在模型的数据部分用如下代码从EXECL中引入数据:
PRODUCT,MACHINE,WEEK,ALLOWED,x,y=@OLE('D:\IMPORT.XLS');
@OLE('D:\IMPORT.XLS')=rate;
等价的描述为
PRODUCT,MACHINE,WEEK,ALLOWED,x,y
=@OLE('D:\IMPORT.XLS', PRODUCT,MACHINE,WEEK,ALLOWED,x,y);
@OLE('D:\IMPORT.XLS',rate)=rate;
这一等价描述使得变量名和Ranges不同亦可。
@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,
② 释放鼠标按钮,
③ 选择“插入|名称|定义”,
④ 输入希望的名字,
⑤ 点击“确定”按钮。
我们在模型的数据部分用如下代码从EXECL中引入数据:
PRODUCT,MACHINE,WEEK,ALLOWED,x,y=@OLE('D:\IMPORT.XLS');
@OLE('D:\IMPORT.XLS')=rate;
等价的描述为
PRODUCT,MACHINE,WEEK,ALLOWED,x,y
=@OLE('D:\IMPORT.XLS', PRODUCT,MACHINE,WEEK,ALLOWED,x,y);
@OLE('D:\IMPORT.XLS',rate)=rate;
这一等价描述使得变量名和Ranges不同亦可。
TableDI
2024-07-18 广告
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据...
点击进入详情页
本回答由TableDI提供
展开全部
举例说明:我要将'C:\Users\Lenovo\Desktop\lingodata.xlsx'里的数据导入lingo
1.左键拖动选中'C:\Users\Lenovo\Desktop\lingodata.xlsx'里的数据,快捷键control+F3插入--定义名称为dist,保存好。
2.dist= @OLE('C:\Users\Lenovo\Desktop\lingodata.xlsx','dist');
将EXCEL中的文件读 入LINGO;
1.左键拖动选中'C:\Users\Lenovo\Desktop\lingodata.xlsx'里的数据,快捷键control+F3插入--定义名称为dist,保存好。
2.dist= @OLE('C:\Users\Lenovo\Desktop\lingodata.xlsx','dist');
将EXCEL中的文件读 入LINGO;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用@ole函数 a=@ole('路径', 区域);
区域自己在excel里面先定义好
区域自己在excel里面先定义好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询