Hallo,
ich wollte mich rantesten an das Auslesen einer Exceldatei und bin auf den oft verlinkten vorschlag mit der jexcelapi gekommen. Prompt eingebunden habe ich ein simples Beispiel programmiert, welches jedoch Fehler auswirft.
Mein Code:
package Excel;
import java.io.File;
import java.io.IOException;
import jxl.*;
import jxl.read.biff.BiffException;
import javax.swing.*;
import java.awt.*;
public class Main extends JFrame
{
private File myExcelFile;
private Workbook myWorkbook;
private Sheet mySheet;
private String stringA1;
private String stringB1;
private String stringC1;
private Cell a1;
private Cell b1;
private Cell c1;
private Container contPane;
private JLabel labA1;
private JLabel labB1;
private JLabel labC1;
public static void main(String[] args) throws IOException, BiffException
{
Main myMain = new Main();
}
public Main() throws IOException, BiffException
{
super();
contPane = getContentPane();
contPane.setLayout(new BoxLayout(contPane, BoxLayout.Y_AXIS));
myExcelFile = new File("d:\\Testdatei.xlsx");
myWorkbook = Workbook.getWorkbook(myExcelFile);
mySheet = myWorkbook.getSheet(0);
a1 = mySheet.getCell(0, 0);
b1 = mySheet.getCell(1, 0);
c1 = mySheet.getCell(2, 0);
stringA1 = a1.getContents();
stringB1 = a1.getContents();
stringC1 = a1.getContents();
labA1 = new JLabel(stringA1);
labB1 = new JLabel(stringB1);
labC1 = new JLabel(stringC1);
contPane.add(labA1);
contPane.add(labB1);
contPane.add(labC1);
this.pack();
this.setVisible(true);
}
}
Bei der Ausführung erscheint folgende Fehlermeldung:
Exception in thread "main" jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:221)
at jxl.Workbook.getWorkbook(Workbook.java:198)
at Excel.Main.<init>(Main.java:41)
at Excel.Main.main(Main.java:29)
Ich habe mal in die Klassen hineingeschaut, um zu schauen, was in den Zeilen 116, 127, etc. los ist. Erstaunlich war nur, dass die Klassen so viele Zeilen hatten
Hat da jemand eine Idee, wo mein Fehler steckt?
Grüße
ZubSero
P.S. Mein erster Post. Für Verbesserungen diesbezüglich bin ich auch offen .
ich wollte mich rantesten an das Auslesen einer Exceldatei und bin auf den oft verlinkten vorschlag mit der jexcelapi gekommen. Prompt eingebunden habe ich ein simples Beispiel programmiert, welches jedoch Fehler auswirft.
Mein Code:
package Excel;
import java.io.File;
import java.io.IOException;
import jxl.*;
import jxl.read.biff.BiffException;
import javax.swing.*;
import java.awt.*;
public class Main extends JFrame
{
private File myExcelFile;
private Workbook myWorkbook;
private Sheet mySheet;
private String stringA1;
private String stringB1;
private String stringC1;
private Cell a1;
private Cell b1;
private Cell c1;
private Container contPane;
private JLabel labA1;
private JLabel labB1;
private JLabel labC1;
public static void main(String[] args) throws IOException, BiffException
{
Main myMain = new Main();
}
public Main() throws IOException, BiffException
{
super();
contPane = getContentPane();
contPane.setLayout(new BoxLayout(contPane, BoxLayout.Y_AXIS));
myExcelFile = new File("d:\\Testdatei.xlsx");
myWorkbook = Workbook.getWorkbook(myExcelFile);
mySheet = myWorkbook.getSheet(0);
a1 = mySheet.getCell(0, 0);
b1 = mySheet.getCell(1, 0);
c1 = mySheet.getCell(2, 0);
stringA1 = a1.getContents();
stringB1 = a1.getContents();
stringC1 = a1.getContents();
labA1 = new JLabel(stringA1);
labB1 = new JLabel(stringB1);
labC1 = new JLabel(stringC1);
contPane.add(labA1);
contPane.add(labB1);
contPane.add(labC1);
this.pack();
this.setVisible(true);
}
}
Bei der Ausführung erscheint folgende Fehlermeldung:
Exception in thread "main" jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:221)
at jxl.Workbook.getWorkbook(Workbook.java:198)
at Excel.Main.<init>(Main.java:41)
at Excel.Main.main(Main.java:29)
Ich habe mal in die Klassen hineingeschaut, um zu schauen, was in den Zeilen 116, 127, etc. los ist. Erstaunlich war nur, dass die Klassen so viele Zeilen hatten
Hat da jemand eine Idee, wo mein Fehler steckt?
Grüße
ZubSero
P.S. Mein erster Post. Für Verbesserungen diesbezüglich bin ich auch offen .