在这里,我正在尝试从 Java 执行转换。Java代码是:public class PDI { public static void main(String[] args) { // TODO Auto-generated method stub try { KettleEnvironment.init(); System.out.println("1"); //StepLoader.init(); EnvUtil.environmentInit(); System.out.println("2"); TransMeta metaData = new TransMeta("D:/pdi/external/ExcelSheet/person.ktr"); System.out.println("3"); Trans trans = new Trans( metaData ); System.out.println("4"); trans.execute(null); System.out.println("5"); trans.waitUntilFinished(); System.out.println("6"); if ( trans.getErrors() > 0 ) { System.out.print( "Error Executing transformation" ); } } catch (KettleException e) { e.printStackTrace(); }} }但我收到此错误:12342018/10/05 21:04:31 - person - Dispatching started for transformation [person]5java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Cell.getCellType()I at org.pentaho.di.trans.steps.excelinput.poi.PoiCell.getType(PoiCell.java:43)child index = 0, logging object : org.pentaho.di.core.logging.LoggingObject@5789a7e2 parent=718e171d-3be6-4174-a9d0-7ce8c54b2fb32018/10/05 21:04:32 - Microsoft Excel Input.0 - Finished processing (I=0, O=0, R=0, W=0, U=0, E=1) at org.pentaho.di.trans.steps.excelinput.ExcelInput.fillRow(ExcelInput.java:138) at org.pentaho.di.trans.steps.excelinput.ExcelInput.getRowFromWorkbooks(ExcelInput.java:665) at org.pentaho.di.trans.steps.excelinput.ExcelInput.processRow(ExcelInput.java:471) at org.pentaho.di.trans.step.RunThread.run(RunThread.java:60)
1 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
因此,您的转换涉及输入 Excel 步骤。此步骤基于 Apache poi 库。
1) 确保您的转换在勺子中运行。2) 确保 poi-.jar 在您的 java 类路径上。
你会在你的发行版附带的 lib 目录中找到这个 jar。并且为了避免在稍后阶段出现这种意外,您可能会发现将所有这些库包含在您的类路径中很有用。
添加回答
举报
0/150
提交
取消