CPLEX читать Excel по индексу - PullRequest
1 голос
/ 28 февраля 2020

Как я могу прочитать кортеж из Excel на cplex по его индексу, отмечая ячейку. Я имею в виду:

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

Вместо:

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

У меня есть кортеж, который может быть длиннее или короче между различными симуляциями. Длина определяется. Могу ли я сделать что-то вроде:

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

спасибо, хорошего дня

1 Ответ

1 голос
/ 28 февраля 2020

Ответы на ваши вопросы можно найти в справочной документации по функции SheetRead:

  1. Обычно вы можете использовать нотацию Excel R1C1 для индексации ячеек исключительно по индексу , К сожалению, это не поддерживается OPL.
  2. Аргументы функции SheetRead могут быть только строковыми литералами. Таким образом, вы не можете использовать переменные там.

Один из вариантов в вашем случае - определить именованный диапазон в листах Excel. Например, вы можете определить именованный диапазон с именем «TupleData» на каждом из разных листов и определить, что этот диапазон должен иметь разные размеры / местоположение на разных листах. Тогда в файле .dat вы можете написать

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