2016-05-24 18 views
0

SoapUIでApache POIを使用中に以下のエラーが表示されます。SOAPUI:クラスXSSFWorkBookエラーを解決できません

クラスXSSFWorkBookエラーに

を解決することができません私はSOAPUIにPOIをインポートし、/ binに/ EXTにポイjarファイルを落としました。私はバージョン3.14と3.15ベータを試しました。 (私はエラーを付けました)。ここに何もないのですか?どんな助けもありがとう。

import org.apache.poi.xssf.usermodel.* 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

def fs = new FileInputStream  ("C:\\Users\\JDoe\\Desktop\\SOAP_Learn\\SOAP_Test_Data.xlsx") 
def wb = new XSSFWorkBook (fs) //-->> gives error in this line 
def ws = wb.getSheet("Sheet1") 
def r = ws.getPhysicalNumberOfRows() 

enter code here << Stack Trace >> 
     org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script5.groovy: 14: unable to resolve class XSSFWorkBook @ line 14, column 11. def wb = new XSSFWorkBook (fs)^org.codehaus.groovy.syntax.SyntaxException: unable to resolve class XSSFWorkBook @ line 14, column 11. at org.codehaus.groovy.ast.ClassCodeVisitorSupport.addError(ClassCodeVisitorSupport.java:146) at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:222) at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:232) at org.codehaus.groovy.control.ResolveVisitor.transformConstructorCallExpression(ResolveVisitor.java:969) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:646) at org.codehaus.groovy.control.ResolveVisitor.transformDeclarationExpression(ResolveVisitor.java:1010) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:638) at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:139) at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40) at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:35) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:163) at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1240) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:101) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:112) at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:50) at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:166) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:123) at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1055) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:50) at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1183) at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:141) at org.codehaus.groovy.control.CompilationUnit$10.call(CompilationUnit.java:632) at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:912) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:574) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:523) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:279) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:258) at groovy.lang.GroovyShell.parseClass(GroovyShell.java:613) at groovy.lang.GroovyShell.parse(GroovyShell.java:625) at groovy.lang.GroovyShell.parse(GroovyShell.java:652) at groovy.lang.GroovyShell.parse(GroovyShell.java:643) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:138) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:89) at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:141) at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:250) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 1 error[![enter image description here][1]][1] 

enter image description here

enter image description here

+0

あなたはreadyapiか無料版soapuiですか?そしてどのバージョン?そして、あなたはimpageの代わりにstacktraceを投稿できますか? – Rao

+0

SOAPUI_HOME/bin/extディレクトリからファイルのリストを表示することもできますか? – Rao

+1

poi.jarがcommons.jarなどのように依存するサポートjarファイルを削除しましたか? –

答えて

2

あなたはSOAPUI/binに/のextフォルダ内のApache POIからダウンロードしたすべてのjarファイルを追加し、SOAPUI

を再起動します。ここでは

コードです

jarがbin/extに追加されました。時間のために、apacheからすべてのjarを追加しました。poi download

poi-3.14-xxxxxx.jar 
poi-examples-3.14-xxxxx.jar 
poi-excelant-3.14-xxxxx.jar 
poi-ooxml-3.14-xxxxxx.jar 
poi-ooxml-schemas-3.14-xxxxxx.jar 
poi-scratchpad-3.14-xxxxx.jar 

ooxml-lib/curvesapi-1.03.jar 
ooxml-lib/xmlbeans-2.6.0.jar 
lib/commons-codec-1.10.jar 
lib/commons-logging-1.2.jar 
lib/junit-4.12.jar 
lib/log4j-1.2.17.jar 

はグルーヴィー

import org.apache.poi.ss.usermodel.* 
import org.apache.poi.hssf.usermodel.* 
import org.apache.poi.xssf.usermodel.* 
import org.apache.poi.ss.util.* 

def fs = new FileInputStream ("C:\\Users\\JDoe\\Desktop\\SOAP_Learn\\SOAP_Test_Data.xlsx") 

// Use this factory pattern to create/read workbook this is the wrong we are doing and if you find it out in the jarfiles there is no class XSSF 
Workbook wb = WorkbookFactory.create(fs); 
def ws = wb.getSheet("Sheet1") 
def r = ws.getPhysicalNumberOfRows() 
log.info r 

//enjoy!!! 

ISSUEにして作業帳を取得するには、以下のコードを使用します。あなたが直接新しいXSSFWorkbookのようなクラスをインスタンス化することはできません()我々はそれをintatntiateする工場patterenを使用する必要があります。 これは私の多くの時間を費やしたと回答しました click here too reference groovy that worked in by box

+0

答えに必要な瓶をあなたが好きなように記載すると、人々を助けるかもしれません。 – Rao

+1

ラオ氏、私は答えを洗練します –

+1

更新のおかげで、 'import org.apache.poi.hssf.usermodel。*'は '.xls'形式であり、' import org.apache.poi.xssf .usermodel。* 'は' .xlsx'形式です。だから、ユーザーは必要なクラスをインポートすることができます – Rao