从 CPLEX Studio 中的 Excel 文件读取,单元格包含列表

问题描述 投票:0回答:1

我使用以下代码从“data.xlsx”文件中获取数据:

这部分来自 .mod 文件

int n=...; range items = 1..n; int values[items] = ...;

这部分来自 .dat 文件:

n from SheetRead(excelsheet, "Sheet1!A3"); values from SheetRead(excelsheet, "Sheet1!A7"); 
值列表位于单元格 A7 中,我想将其加载到 var 值中, 通过这种方式,我遇到了一个错误,其中写着: **IBM ILOG Concert excel 大小范围的例外情况不是 **

从 cplex 中的 Excel 文件加载列表

optimization cplex ilog
1个回答
0
投票

2 步骤:

首先将单元格读取为字符串。

excel OPL 中,请参阅

SheetConnection s("read1cell.xlsx");

value from SheetRead(s,"B1");

value2 to SheetWrite(s,"B5");

然后使用 OPL 脚本,您可以 将字符串转换为值数组

string s="1;2;8;1000";

int arsize;

execute
{
  ar=s.split(";");
  writeln("size =",ar.length);
  arsize=ar.length;
}

range r=1..arsize;
int resultarray[r];

execute
{
  ar=s.split(";");
  for(var i in r) resultarray[i]=Opl.atoi(ar[i-1]);
  writeln("resultarray = ",resultarray);
}

/*

which gives

size =4
resultarray =  [1 2 8 1000]

*/
© www.soinside.com 2019 - 2024. All rights reserved.