ich bin neu bei der Verwendung von eventusermodel zum Hochladen xls-Datei .. Ich habe ein Problem beim Lesen des Blattes .. Warum Eventusermodell lesen Sie das gesamte Blatt? wie man es ändert? Ich möchte nur mein Programm auf den ersten Bogen erfahren .. hier ist mein Beispielcode:Java - EventUserModel - warum HSSFListener alle Blätter lesen?
public void processRecord(Record record)
{
if(record.getSid()==RowRecord.sid){
newrowrec = (RowRecord) record;
System.out.println("new ROW NUMBER : "+ newrowrec.getRowNumber());
System.out.println("new LAST ROW NUMBER : "+ newrowrec.getLastCol());
}
switch (record.getSid())
{
case BOFRecord.sid:
BOFRecord bof = (BOFRecord) record;
if (bof.getType() == bof.TYPE_WORKBOOK)
{
System.out.println("Encountered workbook");
// assigned to the class level member
} else if (bof.getType() == bof.TYPE_WORKSHEET)
{
System.out.println("Encountered sheet reference");
}
break;
case RowRecord.sid:
RowRecord rowrec = (RowRecord) record;
System.out.println("Row found, first column at "
+ rowrec.getFirstCol() + " last column at " + rowrec.getLastCol());
break;
case NumberRecord.sid:
NumberRecord numrec = (NumberRecord) record;
System.out.println("Cell found with value " + (long)numrec.getValue()
+ " at row " + numrec.getRow() + " and column " + numrec.getColumn());
rowlist.add(String.valueOf((long)(numrec.getValue())).toLowerCase());
if(numrec.getColumn()==newrowrec.getLastCol()-1){
System.out.println("NUMBER ROWLIST: "+ rowlist);
extractRow(rowlist, newrowrec.getRowNumber());
rowlist.clear();
}
break;
case BlankRecord.sid:
BlankRecord blankrec = (BlankRecord) record;
System.out.println("BLANK VALUE at row: "+ blankrec.getRow() + " at coloumn: " + blankrec.getColumn());
rowlist.add("null");
break;
case SSTRecord.sid:
sstrec = (SSTRecord) record;
for (int k = 0; k < sstrec.getNumUniqueStrings(); k++)
{
System.out.println("String table value " + k + " = " + sstrec.getString(k));
System.out.println("SSTRECORD ROWLIST: "+ rowlist);
}
break;
case LabelSSTRecord.sid:
lrec = (LabelSSTRecord) record;
rowlist.add(sstrec.getString(lrec.getSSTIndex()).toString());
break;
}
die Linie tun muss ich ändern, um dies nur erste Blatt lesen zu machen? Danke für den Fortschritt ..