Link to home
Start Free TrialLog in
Avatar of rajumuchunde
rajumuchunde

asked on

Can't parse an expression rm.exec using jxls package

Exception in thread "main" java.lang.RuntimeException: Can't parse an expression rm.exec('SELECT d.name depname, e.name empname, payment, bonus FROM employee e, department d where d.id = e.depid order by age desc')
at net.sf.jxls.tag.ForEachTag.parseItemsProperty(ForEachTag.java:142)
at net.sf.jxls.tag.ForEachTag.init(ForEachTag.java:104)
at net.sf.jxls.parser.CellParser.parseTag(CellParser.java:294)
at net.sf.jxls.parser.CellParser.parseCellValue(CellParser.java:196)
at net.sf.jxls.parser.CellParser.parseCell(CellParser.java:57)
at net.sf.jxls.transformer.SheetTransformer.parseCells(SheetTransformer.java:193)
at net.sf.jxls.transformer.SheetTransformer.parseRow(SheetTransformer.java:263)
at net.sf.jxls.transformer.SheetTransformer.transformSheet(SheetTransformer.java:82)
at net.sf.jxls.transformer.XLSTransformer.transformWorkbook(XLSTransformer.java:238)
at net.sf.jxls.transformer.XLSTransformer.transformXLS(XLSTransformer.java:217)
at net.sf.jxls.transformer.XLSTransformer.transformXLS(XLSTransformer.java:196)
at net.sf.jxls.sample.ReportingSample.main(ReportingSample.java:38)
Caused by: java.sql.SQLException: Column 'name' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1093)
at com.mysql.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:4951)
at org.apache.commons.beanutils.JDBCDynaClass.getObject(JDBCDynaClass.java:271)
at org.apache.commons.beanutils.RowSetDynaClass.copy(RowSetDynaClass.java:232)
at org.apache.commons.beanutils.RowSetDynaClass.<init>(RowSetDynaClass.java:187)
at org.apache.commons.beanutils.RowSetDynaClass.<init>(RowSetDynaClass.java:152)
at net.sf.jxls.report.ReportManagerImpl.exec(ReportManagerImpl.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:231)
at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104)
at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:82)
at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:56)
at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:50)
at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:79)
at net.sf.jxls.parser.Expression.evaluate(Expression.java:69)
at net.sf.jxls.tag.ForEachTag.parseItemsProperty(ForEachTag.java:135)
Avatar of Mick Barry
Mick Barry
Flag of Australia image

appears you are try to use a column name that does not exist
Try
rm.exec('SELECT d.name depname, e.name empname, e.payment payment, e.bonus bonus, e.age age FROM employee e, department d where d.id = e.depid order by age desc')

Open in new window

You might be able to simplify that to
rm.exec('SELECT d.name depname, e.name empname, e.payment, e.bonus FROM employee e, department d where d.id = e.depid order by e.age desc')

Open in new window

Avatar of rajumuchunde
rajumuchunde

ASKER

error remain same inspite of changing query .
Please post your current code
ASKER CERTIFIED SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
alias name problems