Loading Data in separate class

S

sav

Hi everyone, i am having a little trouble, i am relatively new to java
and I am having difficulty with a little methodology.

I am using the java excel api to import some data from excel into a
routine for some data analysis. Below is a section of the code which
at the moment imports the data into java.


//import java.io.File;
//import java.io.FileInputStream;

//import jxl.Cell;
//import jxl.Sheet;
//import jxl.Workbook;


//javac -classpath c:\jexcelapi\jxl.jar;. JET2.java
//java -classpath c:\jexcelapi\jxl.jar;. JET2
//java -Xms10m -Xmx100m -classpath jxl.jar spreadsheet.xls

//java -Xms100m -Xmx200m -classpath c:\jexcelapi\jxl.jar;. JET2

import java.io.File;
import java.util.Date;
import jxl.*;

public class JET2 {

public static void main (String[] args){
Workbook workbook;
try {

workbook = Workbook.getWorkbook(new File("c:\\Docs_2\\Dad.xls"));

double stringa1 = 0 ;
double stringa2 = 0 ;

Sheet sheet1 = workbook.getSheet(0);
Sheet sheet2 = workbook.getSheet(0);

Cell a1 = sheet1.getCell(1,1);
Cell a2 = sheet2.getCell(0,5);

if (a1.getType() == CellType.NUMBER)
{
NumberCell fc1 = (NumberCell)a1;
stringa1 = fc1.getValue();
}
if (a2.getType() == CellType.NUMBER)
{
NumberCell fc2 = (NumberCell)a2;
stringa2 = fc2.getValue();
}
//String stringa1 = a1.getContents();
//String stringa2 = a2.getContents();

workbook.close();

}// End try

catch (Exception e){

System.out.println("Exception thrown: "+ e);

}// End catch

}// End Main
}// End class Jet


Now this portion works fine, however, I want to place the import code
section into a class or a method on its own, for a couple of reasons,
its cleaner and the routine is quite lengthy and i dont want to have a
cluttered piece of code. How do i place the code into a section on its
own that can be called simply by using something like

public class JET2 {

public static void main (String[] args){

Import data ......(utilising the above code to import data from excel)

Do stuff with data.........(data manipulation)

}// End Main
}// End class Jet

I seem to misunderstanding something very basic or can this not be
done?
 
J

Jeff Higgins

Here's one way

public class JET2
{
public static void main(String[] args)
{
processWorkbook(fetchWorkbook(args[0]));
}

public static void processWorkbook(Workbook workbook)
{
double stringa1 = 0;
double stringa2 = 0;

Sheet sheet1 = workbook.getSheet(0);
Sheet sheet2 = workbook.getSheet(0);

Cell a1 = sheet1.getCell(1, 1);
Cell a2 = sheet2.getCell(0, 5);

if (a1.getType() == CellType.NUMBER)
{
NumberCell fc1 = (NumberCell) a1;
stringa1 = fc1.getValue();
}
if (a2.getType() == CellType.NUMBER)
{
NumberCell fc2 = (NumberCell) a2;
stringa2 = fc2.getValue();
}
workbook.close();
}

public static Workbook fetchWorkbook(String fileName)
{
Workbook workbook = null;
try
{
workbook = Workbook.getWorkbook(new File(fileName));
}
catch (Exception e)
{
e.printStackTrace();
}
return workbook;
}
}
 
S

sav

Here's one way

public class JET2
{
public static void main(String[] args)
{
processWorkbook(fetchWorkbook(args[0]));
}

public static void processWorkbook(Workbook workbook)
{
double stringa1 = 0;
double stringa2 = 0;

Sheet sheet1 = workbook.getSheet(0);
Sheet sheet2 = workbook.getSheet(0);

Cell a1 = sheet1.getCell(1, 1);
Cell a2 = sheet2.getCell(0, 5);

if (a1.getType() == CellType.NUMBER)
{
NumberCell fc1 = (NumberCell) a1;
stringa1 = fc1.getValue();
}
if (a2.getType() == CellType.NUMBER)
{
NumberCell fc2 = (NumberCell) a2;
stringa2 = fc2.getValue();
}
workbook.close();
}

public static Workbook fetchWorkbook(String fileName)
{
Workbook workbook = null;
try
{
workbook = Workbook.getWorkbook(new File(fileName));
}
catch (Exception e)
{
e.printStackTrace();
}
return workbook;
}

}

Jeff thanks a bunch that is just the thing i was trying to achieve,
many thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top