|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Mar 2012
Messaggi: 8
|
Strano problema nel "contare" (html/servlet)
Un buon pomeriggio a tutto il forum.
Vi spiego subito il mio problema. Ho un foglio excel con un'intestazione e dei valori nella tabelle. I valori sono 5, che si ripetono riga per riga. Il foglio excel l'ho trasformato in una tabella html e nell'intestazione sono andato a creare una checkbox Codice HTML:
<input type=\"checkbox\" name=\"intestazione\" value='"+k+"' checked=\"yes\" >
Una volta selezionate un determinato numero di colonne vado nella successiva servlet, attraverso un form per analizzare i dati all'interno delle colonne selezionate e non. Facendo in questo modo Codice HTML:
String check[] = request.getParameterValues("intestazione"); // qui trovo le colonne selezionate
try {
String cartella="C://Documents and Settings//user//Documenti//NetBeansProjects//prog//build//web//";
String filePath = cartella + nome;
FileInputStream fs = new FileInputStream(new File(filePath));
WorkbookSettings ws = null;
Workbook workbook = null;
Sheet s = null;
Cell rowData[] = null;
double rowCount = 0.0;
int columnCount = 0;
int totalSheets = 0;
ws = new WorkbookSettings();
workbook = Workbook.getWorkbook(fs, ws);
totalSheets = workbook.getNumberOfSheets();
s = workbook.getSheet(0);
columnCount=s.getColumns();
rowCount = s.getRows();
for (int i = 1; i < rowCount; i++) {
rowData = s.getRow(i);
if (rowData.length > 1) {
int p=0;
for (int j = 0; j < columnCount; j++) {
p++;
for (int l=0; l<check.length;l++){
if(Integer.parseInt(check[l]) == p){ // Vuol dire che ho una cella della Colonna selezionata
D.Conta(rowData[j].getContents());
}
else //ho una colonna non selezionata
H.Conta(rowData[j].getContents());
}
}
}
out.println("hAA "+ H.getA() );
out.println("hCC "+ H.getC() );
out.println("hGG "+ H.getG() );
out.println("hTT "+ H.getT() );
out.println("hCT "+ H.getCT() ); out.println("<br>");out.println("<br>");
out.println(" dAA "+ D.getA() );
out.println(" dCC "+ D.getC() );
out.println(" dGG "+ D.getG() );
out.println(" dTT "+ D.getT() );
out.println(" dCT "+ D.getCT() ); out.println("<br>");out.println("<br>");
H.Pulizia();D.Pulizia();
}
} finally {
out.close();
}
Codice HTML:
if(Integer.parseInt(check[l]) == p) Quelli del 2nd if sono completamenti sballati. Ho fatto una prova con una tabella con 50colonne e ho selezionato 2 colonne. I valori delle 2 colonne sono giusti, quelle delle colonne non selezionate sono sbagliati. Dove sbaglio?! Noto che se seleziono più colonne, l'errore incrementa. |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Mar 2012
Messaggi: 8
|
Codice:
if(Integer.parseInt(check[l]) != p && rowData[j] != null){ // Vuol dire che ho una cella della Colonna selezionata
D.Conta(rowData[j].getContents());
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:07.



















