Jett, poi, jexl. Не могу преобразовать мой документ
Я пытаюсь преобразовать мою книгу с помощью Jett следующим образом:
HashMap<String, Object> tm = new HashMap<String, Object>();
tm.put("mod", "123");
ExcelTransformer t = new ExcelTransformer();
t.transform(wb, tm);
В документе есть ячейка с таким значением ${mod}. Каждый раз, когда я запускаю этот код, я получаю исключение
org.apache.commons.jexl2.parser.ParseException: parse error
at org.apache.commons.jexl2.parser.Parser.generateParseException(Parser.java:3935)
at org.apache.commons.jexl2.parser.Parser.jj_consume_token(Parser.java:3817)
at org.apache.commons.jexl2.parser.Parser.JexlScript(Parser.java:74)
at org.apache.commons.jexl2.parser.Parser.parse(Parser.java:24)
at net.sf.jett.expression.Expression.getValueIndicatingImplicitCollection(Expression.java:272)
at net.sf.jett.expression.Expression.getImplicitCollectionExpr(Expression.java:346)
at net.sf.jett.transform.CellTransformer.transform(CellTransformer.java:103)
at net.sf.jett.transform.BlockTransformer.transform(BlockTransformer.java:72)
at net.sf.jett.transform.BlockTransformer.transform(BlockTransformer.java:34)
at net.sf.jett.transform.SheetTransformer.transform(SheetTransformer.java:69)
at net.sf.jett.transform.ExcelTransformer.transform(ExcelTransformer.java:353)
Я попытался написать в скобках некоторые другие значения примера. Они все работают нормально. Но когда я пытаюсь упомянуть какой-либо боб из карты бинов, возникает исключение. Пожалуйста помоги.
1 ответ
Решение
Слово "мод" является зарезервированным словом, поэтому не используйте его в качестве имени "модели" данных, которую вы хотите упомянуть в контексте bean-компонента JEXL.