Внедрить / вызвать LibreOffice Solver из Java с помощью odftoolkit
Я пытаюсь вызвать LO решатель из Java с помощью odftoolkit
, Я могу манипулировать данными из электронной таблицы и сохранять их, но мне не удалось получить доступ к встроенным функциям, например, к решателю.
Простая версия кода, используемого до сих пор:
public static void main(String[] args) {
try {
String tablename = "sheet1";
String filename = "doc.ods";
String savename = "docsaved.ods";
SpreadsheetDocument calc = (SpreadsheetDocument) SpreadsheetDocument.loadDocument(filename);//open spreadsheet
Table sheet = calc.getTableByName(tablename);//get worksheet
Cell odsCell = sheet.getCellByPosition("B3");//get cell
double floatValue = odsCell.getDoubleValue();//get cell value
odsCell.setDoubleValue(new Double(10));//set cell new value
//invoke solver: calc/Tools/Solver(args)
calc.save(savename);//save with new name
} catch (Exception e) {
System.err.println("Unable to open file.");
System.err.println(e.getMessage());
}
System.out.println("The end");
}
Любая помощь будет очень высоко ценится.
РЕДАКТИРОВАТЬ
Я связался с разработчиками odftoolkit, и они сказали, что эта функция не реализована.
Поскольку моей целью было реализовать решатель для нелинейного программирования, а именно DEPS, я использовал план B. Я решил использовать алгоритм DEPSO Сяо-Фенга: http://www.wiomax.com/team/xie/depso-algorithm-project-portal/
Когда я попросил документацию, Сяо-Фенг быстро ответил на мою электронную почту, и ДЕПСО работает как надо.