# Exceltabelle mit Hilfe von JExcel einlesen



## MSeeger (3. Aug 2004)

Moin!
Ich weiß, dass zu diesem Thema schon ein Thread vorhanden ist, allerdings habe ich ein ganz grundlegendes Problem:
Ich schreibe in "Eclipse", habe die "jxl.jar" eingebunden und diese wird auch erkannt und man kann mit der "." (Punkt) - notation auf die Methoden zugreifen.
Der Folgende Link führt zu einem Tutorial:
http://www.andykhan.com/jexcelapi/tutorial.html
Und schon beim simplen Einlesen bekomme ich einen Fehler. Ich spreche von folgender Zeile:
_Workbook workbook = Workbook.getWorkbook(new File("myfile.xls")); _
Der Fehler lautet: "Unhandles exception type IOException"

Es kann doch nicht so schwer sein eine Excel Datei einzulesen!!!

Wer kann mir helfen?


Danke,

Mark.


----------



## Beni (3. Aug 2004)

Das hat weniger mit jxl zu tun, sondern mehr mit dem ganz normalen Java-Syntax.

Du benötigst einen try-catch Block, hier hat's ein Beispiel.


----------



## MSeeger (3. Aug 2004)

Ok, das werd ich morgen mal ausprobieren, danke.
Muss ich an dem Try-Catch Block in dem Bsp. etwas nicht gleich Ersichtliches ändern, oder kann ich den "1zu1" übernehmen?
Und wo bekomme ich mal eine Einführung in "try-catch". Komme von C++ und konnte die Exceptions dort immer erfolgreich umgehen! 

Danke,

Mark.


----------



## Reality (3. Aug 2004)

Hi,
in vielen Aktionen, besonders in I/O sind Exceptions Pflicht in Java.
Eine Einführung in Exceptions kriegst du bei der Java-API, aber im Notfalls reicht die Standard-Exception "Exception".

Liebe Grüße
Reality


----------



## MSeeger (4. Aug 2004)

Also hier mein Code. Noch immer mit dem gleichen Fehler:

```
import java.io.*;
import jxl.*;

public class Excel {
	String stringa1;
	String stringb1;
    
	public Excel() {
		Workbook workbook = Workbook. getWorkbook(new File("test.xls"));
		Sheet sheet = workbook.getSheet(0);
    
      	Cell Name_a1    = sheet.getCell(0,0);
    	Cell Vorname_b1 = sheet.getCell(1,2);
    
    	stringa1 = Name_a1.getContents();
    	stringb1 = Vorname_b1.getContents();	
	}//Konstruktor
	
	public void print(){
		System.out.println(stringa1);
	}//print
	
}//Excel

public class main {

	public static void main(String[] args) {
		Excel EX = new Excel();
		
		EX.print();
	}//Konstruktor

}//main
```

Kann mir da mal einer sagen wie die Exception aussehen muss, damit das funktioniert? Wäre echt super!

Danke,
Mark.


----------



## Beni (4. Aug 2004)

So:

```
import java.io.*;
import jxl.*;

public class Excel {
	String stringa1;
	String stringb1;
    
	public Excel() throws IOException{  // ## Die Exception wird hier einfach weitergereicht. Wenn schon nichts funktioniert, lohnt es sich auch nicht, eine Instanz von Excel anzulegen...
		Workbook workbook = Workbook. getWorkbook(new File("test.xls"));
		Sheet sheet = workbook.getSheet(0);
    
      	Cell Name_a1    = sheet.getCell(0,0);
    	Cell Vorname_b1 = sheet.getCell(1,2);
    
    	stringa1 = Name_a1.getContents();
    	stringb1 = Vorname_b1.getContents();	
	}//Konstruktor
	
	public void print(){
		System.out.println(stringa1);
	}//print
	
}//Excel

public class main {

	public static void main(String[] args) {
		try{
			Excel EX = new Excel();
			
			EX.print();
		}
		catch( IOException ex ){  // ## hier ist der try-catch-Block, der die Exception (aus dem Excel-Konstruktor) auffängt
			ex.printStackTrace();  // ## ... und die Fehlermeldung ausgiebt.
		}
	}//Konstruktor

}//main
```


----------

