我使用以下代码从“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 文件加载列表
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]
*/