CPLEX按索引读取excel

CPLEX按索引读取excel,cplex,Cplex,如何通过索引注释单元格从cplex上的excel读取元组。 我的意思是: 而不是: T from SheetRead(sheet,"'Data'!A1"); 我有一个元组,它可以在不同的模拟之间变长或变短。长度由n定义。我可以做一件事吗 T from SheetRead(sheet,"'Data'!(0,0):(0,n)"); 谢谢祝您愉快您的问题可以在以下位置找到答案: 通常,您可以使用Excel的R1C1表示法纯按索引对单元格进行索引。不幸的是,OPL不支持这一点 函数SheetRead

如何通过索引注释单元格从cplex上的excel读取元组。 我的意思是:

而不是:

T from SheetRead(sheet,"'Data'!A1");
我有一个元组,它可以在不同的模拟之间变长或变短。长度由n定义。我可以做一件事吗

T from SheetRead(sheet,"'Data'!(0,0):(0,n)");

谢谢祝您愉快

您的问题可以在以下位置找到答案:

  • 通常,您可以使用Excel的R1C1表示法纯按索引对单元格进行索引。不幸的是,OPL不支持这一点
  • 函数
    SheetRead
    的参数只能是字符串文字。所以你不能在那里使用变量
  • 在您的案例中,一个选项是在Excel工作表中定义命名范围。例如,可以在每个不同的图纸中定义一个名为“TupleData”的命名范围,并在不同的图纸中将该范围定义为不同的维度/位置。然后在
    .dat
    文件中可以编写

    T from SheetRead(sheet, "'Data'!TupleData");
    

    首先,谢谢你,我不太明白,我如何在excel tupledata中调用可以在cplex中实例化的东西?我指的是SheetRead(sheet,'Data'!TupleData)中的
    T将调用?我所说的是Excel中的“命名范围”。你可能想通过谷歌来了解这一点。在Excel中,可以为范围指定名称。例如,可以说A1:C10范围应称为“TupleData”。一旦你有了这个范围的符号名称,你就可以用这个名称访问这个范围。是的,你是对的,对不起,然后OPL就可以调用它了。好的,先生!祝您今天过得愉快
    
    T from SheetRead(sheet, "'Data'!TupleData");