Witam wszystkich,
bawię się w obecnej chwili w obsługę plików excelowskich przez javę. Niestety przy kompilacji otrzymuję następujący błąd:
.
Błąd dotyczy miejsca w którym staram się wypełnić tablicę obiektów. Poniżej załączam kod źródłowy zdefiniowanej przeze mnie klasy oraz głównego programu.
package pl.tmp.tmpexcel;
public class ExcelFileClass {
private String AdresBudynku;
private Integer IndeksBudynku;
private String AdresMieszkania;
private Integer IndeksMieszkania;
private String TypMieszkania;
private Double PowierzchniaMieszkania;
private String NazwiskoMieszkanca;
private Float WskaznikPrzeliczenia;
public ExcelFileClass(){
AdresBudynku = null;
IndeksBudynku = Integer.valueOf(0);
AdresMieszkania = null;
IndeksMieszkania = Integer.valueOf(0);
TypMieszkania = null;
PowierzchniaMieszkania = Double.valueOf(0);
NazwiskoMieszkanca = null;
WskaznikPrzeliczenia = Float.valueOf(0);
}
public ExcelFileClass(String AD, Integer IB, String AM, Integer IM, String TM, Double PM, String NM, Float WP){
AdresBudynku = AD;
IndeksBudynku = IB;
AdresMieszkania = AM;
IndeksMieszkania = IM;
TypMieszkania = TM;
PowierzchniaMieszkania = PM;
NazwiskoMieszkanca = NM;
WskaznikPrzeliczenia = WP;
}
public void setDate(String AD, Integer IB, String AM, Integer IM, String TM, Double PM, String NM, Float WP){
this.AdresBudynku = AD;
this.IndeksBudynku = IB;
this.AdresMieszkania = AM;
this.IndeksMieszkania = IM;
this.TypMieszkania = TM;
this.PowierzchniaMieszkania = PM;
this.NazwiskoMieszkanca = NM;
this.WskaznikPrzeliczenia = WP;
}
public void ShowDate(){
System.out.println(AdresBudynku + " " + IndeksBudynku + " " + AdresMieszkania + " " + IndeksMieszkania + " "+ TypMieszkania + " " + PowierzchniaMieszkania + " " + NazwiskoMieszkanca + " " + WskaznikPrzeliczenia);
}
}
package pl.tmp.tmpexcel;
import java.io.IOException;
import java.io.File;
import jxl.*;
import jxl.read.biff.BiffException;
public class App
{
public static void main( String[] args ) throws IOException, BiffException
{
int rows = 0; //ilość wierszy - prawidłowa
int collumns = 0; //ilość kolumn - prawidłowa
Workbook workbook = Workbook.getWorkbook(new File("C:\\Users\\Sebastian\\Documents\\NetBeansProjects\\tmplTmp\\danetmp\\domy.xls"));
Sheet sheet = workbook.getSheet(0);
//sprawdzanie ilości kolumn i wierszy niepustych
for(int i = 0; i < sheet.getRows(); i++){
Cell a1 = sheet.getCell(0,i);
if(a1.getContents() == "")
break;
else
rows+=1;
}
for(int i = 0; i < sheet.getColumns(); i++){
Cell a1 = sheet.getCell(i,0);
if(a1.getContents() == "")
break;
else
collumns+=1;
}
rows -= 1;
System.out.println(rows + " " + collumns);
//tworzenie tablicy class z danymi z pliku excel
ExcelFileClass excel[] = new ExcelFileClass[rows];
//System.out.print(excel.length);
//System.out.print(Double.parseDouble(sheet.getCell(7,1).getContents().replace(",", ".")));
int j = 1;
for(int i = 0; i < 2; i++){
excel[i].setDate(sheet.getCell(0, j).getContents(), Integer.parseInt(sheet.getCell(1, j).getContents()), sheet.getCell(2, j).getContents(), Integer.parseInt(sheet.getCell(3, j).getContents()), sheet.getCell(4, j).getContents(), Double.parseDouble(sheet.getCell(5, j).getContents().replace(",", ".")), sheet.getCell(6, j).getContents(), Float.parseFloat(sheet.getCell(7, j).getContents().replace(",", ".")));
j++;
}
}
}
Numerację w pętli zaczynam od 2 wiersza - pierwszy wiersz składa się z nagłówków które chce pominąć.
Bardzo proszę o pomoc w zlokalizowaniu błędu.