Skip to Main Content

General Development Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Hello everyone, Need help using POI to access xslx data

749318Jan 26 2010 — edited Jan 27 2010
Hi,

i am trying to make a simple program in OATS which will fetch data and display the output from a xlsx file.

The file name is DriverAdapter and its java script is as below. I have written a java class called ActionDriver whch performs the actions for me using the POI api. But when i instantiate ActionDriver,

it is throwing the exception referrring to POI api classes cannot be found. ClassNotFoundException : org.apache.poi.openxml4j.exceptions.InvalidOperationException;

Can someone help me out to find how can i run this through DriverAdapter. When i tried to run ActionDriver from the same project as a java application by replacing my method with main, it is running fine.

import oracle.oats.scripting.modules.basic.api.*;
import oracle.oats.scripting.modules.browser.api.*;
import oracle.oats.scripting.modules.functionalTest.api.*;
import oracle.oats.scripting.modules.utilities.api.*;
import oracle.oats.scripting.modules.utilities.api.sql.*;
import oracle.oats.scripting.modules.utilities.api.xml.*;
import oracle.oats.scripting.modules.utilities.api.file.*;
import oracle.oats.scripting.modules.webdom.api.*;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;


import ats.test.ActionDriver;


public class script extends IteratingVUserScript {
@ScriptService oracle.oats.scripting.modules.utilities.api.UtilitiesService utilities;
@ScriptService oracle.oats.scripting.modules.browser.api.BrowserService browser;
@ScriptService oracle.oats.scripting.modules.functionalTest.api.FunctionalTestService ft;
@ScriptService oracle.oats.scripting.modules.webdom.api.WebDomService web;
@ScriptService oracle.oats.scripting.modules.formsFT.api.FormsService forms;



private static String myData="C:/data.xlsx";


public void initialize() throws Exception {
//initializing ActionDriver

dAction = new ActionDriver();

}

/**
* Add code to be executed each iteration for this virtual user.
*/
public void run() throws Exception{

dAction.startAction(myData);
}

public void finish() throws Exception {
}



}


Below is the code for my ActionDriver

package ats.test;
//package sni.test.ats;


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;

import org.apache.poi.openxml4j.exceptions.InvalidOperationException;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;



public class ActionDriver
{
public static void main (String ar[])

//public void startAction(String myData)
{
boolean b = true;

try
{
XSSFWorkbook wb = new XSSFWorkbook("c:/data.xlsx");
//XSSFWorkbook wb = new XSSFWorkbook(myData);
XSSFSheet sheet = wb.getSheet(DataConstants.businessFlow);

ArrayList businessRule = new ArrayList();

Iterator rows = sheet.rowIterator();
String myScripts[];
while (rows.hasNext())
{
XSSFRow row = (XSSFRow) rows.next();
row = (XSSFRow) rows.next();
Iterator cells = row.cellIterator();

while (cells.hasNext())
{
XSSFCell cell = (XSSFCell) cells.next();

if (cell.getCellType()==XSSFCell.CELL_TYPE_NUMERIC )
{
businessRule.add(cell.getNumericCellValue());
}

else
{
businessRule.add(cell.getStringCellValue());
}

}
}

performAction(businessRule);
}
catch(Exception fife)
{
System.out.println("Exception Occured"+fife);
b=false;
}
/*catch(IOException ie)
{
System.out.println("Error Handling Input File"+ie);
}*/
}


public static void performAction(ArrayList businessRules)
{
Object[] businessRuleArray = businessRules.toArray();

boolean b=true;

for (int i=1; i<businessRuleArray.length;i++)
{
if(b)
{
String rule = businessRuleArray.toString();
System.out.println(rule);


}
else
{
break;
}


}


}

}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 24 2010
Added on Jan 26 2010
1 comment
1,920 views