好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

在LINGO中使用电子表格的数据.doc

3页
  • 卖家[上传人]:宝路
  • 文档编号:22176911
  • 上传时间:2017-11-26
  • 文档格式:DOC
  • 文档大小:69.62KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 在 LINGO 中使用电子表格的数据在实际应用中,可能有大量数据是存放在电子表格中的( 最常用的大概就是 Excel 软件了, 所以我们这里只讨论 Excel 电子表格的情况) 通过 Excel 文件与 LINGO 系统传递数据的函 数的一般用法是通过@OLE 函数,与@FILE 函数一样, 该函数只能在 LINGO 模型的集合段、 数据段和初始段使用无论用于输入或输出数据,这个函数的使用格式都是: @OLE(spreadsheet_file [, rang_name_list] 其中 spreadsheet_file 是电子表格文件名称,应当包括扩展名(如*.xls 等),还可以包含完整的路 径名, 只要字符书不超过 64 均可; rang_name_list 是指文件中包含数据的单元范围(单元范 围的格式与 Excel 中工作表的单元范围的格式一样) 具体来说,当从 Excel 中向 LINGO 模型中输入数据时,在集合段可以直接采用“@OLE (…)” 的形式,但在数据段和初始段应当采用“属性(或变量) =@OLE(…)”的赋值形 式;当从 LINGO 向 Excel 中输出数据时,应当采用“@OLE(…)= 属性(或变量)”的赋 值形式(自然,输出语句只能出现在数据段中)。

      请看下面的例子 例 4.4 继续考虑上面例 4.2 的例子中(模型 exam0402.lg4),但通过@OLE 语句输入输 出数据 首先,我们用 Excel 建立一个名为 mydata.xls 的 Excel 数据文件,参见图 4-8为了能 够通过@OLE 函数与 LINGO 传递数据,我们需要对这个文件中的数据进行命名具体做法 是:我们用鼠标选中这个表格的 B4:B7 单元,然后选择 Excel 的菜单命令“插入|名称| 定义” , 这时将会弹出一个对话框,请您输入名称,例如可以将它命名为 cities(这正是图 4-8 所显示的情形,即 B4:B7 所在的 4 个单元被名为 cities)同理,我们将 C4:C7 单元命名为 SOLUTION一般说来,这些单元取什么名字都无所谓,但最好还是取有一定提示作用的名 字;另外,这里取什么名字,LINGO 中调用时就必须用什么名字,只要二者一致就可以了 图 4-8 Excel 文件存放的数据 下面,我们把例 4.2 中的程序修改为(存入文件 exam0404.lg4): MODEL: SETS: MYSET / @OLE('mydata.xls','CITIES') / : COST,NEED,SUPPLY,ORDERED; ENDSETS MIN = @SUM( MYSET( I): ORDERED( I) * COST( I)); @FOR( MYSET( I): [CON1] ORDERED( I) > NEED( I); [CON2] ORDERED( I) < SUPPLY( I)); DATA: COST,NEED,SUPPLY = @OLE('mydata.xls'); @OLE('mydata.xls','SOLUTION')=ORDERED; ENDDATA END 这个程序中有三个@OLE 函数调用,其作用分别说明如下: ● @OLE('mydata.xls','CITIES'):从文件'mydata.xls'的 cities 所指示的单元中 取出数据,作为集合 MYSET 的元素。

      ● COST,NEED,SUPPLY = @OLE('mydata.xls'):这个@OLE 函数调用中没有指明从 mydata.xls 的哪些单元给 COST,NEED,SUPPLY 赋值,这时表示应该采用默认方式(与接收变 量的名称相同),即从 mydata.xls 的 COST 指定的单元给 COST 赋值(NEED,SUPPLY 类似) ● @OLE('mydata.xls','SOLUTION')=ORDERED:将 ORDERED 的值输出赋给 mydata.xls 文件中由 SOLUTION 指定的单元格 现在运行这个程序,报告窗口将首先显示以下总结报告(Export Summary Report): Export Summary Repor Workbook: mydata.xls Ranges Specified: 1 SOLUTION Ranges Found: 1 Ranges Size Mismatches: 0 Values Transferred 4 这些信息的意思依次是:采用 OLE 方式传输数据;Excel 文件为 mydata.xls;指定的接 收单元范围为 SOLUTION:在 mydata.xls 正好找到一个名为 SOLUTION 的域名;不匹配的单 元数为 0;传输了 4 个数值。

      如果这时再打开 mydata.xls 查看,你会发现 ORDERED 对应的一列也被自动协商了解答 的结果(这正是上面的总结报告的含义所在)。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.