Я не создавал программы для работы с электронными таблицами на Mac, но я бы порекомендовал модуль openpyxl по адресу: https://openpyxl.readthedocs.io/en/stable/ для работы с формулами на листе. Если вы хотите иметь дело с результатом формулы, тогда xlwings будет лучшей альтернативой на https://docs.xlwings.org/en/stable/installation.html Для Например, если вы пытаетесь скопировать = SUM (A3: A5) (я думаю, вы делаете что-то подобное), вы должны использовать openpyxl. Если вы пытаетесь получить значение этого дополнения (скажем, с плавающей запятой 5,34), вам следует использовать xlwings. У меня были проекты, которые также используют оба, так что стоит подумать ...
Имя таблицы нельзя использовать в качестве параметра. Это должно быть жестко закодировано. Таким образом, вы можете сделать что-то вроде:
private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "?]";
Существует способ передать имя таблицы как переменную.
String NameOfTable = "test.Employee";
String Fquery = "SELECT * FROM" + NameOfTable + ", где Done = ' Нет '";
Примечание: должен быть пробел между FROM и последующим", а также между "и ключевым словом where
Как уже говорили многие, вы не можете использовать параметр оператора для имени таблицы, только для переменных как часть условия.
Основываясь на том факте, что у вас есть имя переменной таблицы с (как минимум) двумя именами таблиц, возможно, было бы лучше создать метод, который принимает сущность, которую вы храните, и возвращает подготовленный оператор.
PreparedStatement p = createStatement(table);
Я не уверен, что вы можете использовать PreparedStatement для указания имени таблицы, просто значения некоторых полей. В любом случае, вы можете попробовать тот же запрос, но без скобок:
"SELECT plantID, edrman, plant, vaxnode FROM ?"