Comment composer avec des cellules vides d'excel fichiers java

Je fais un programme où je suis de la lecture des données à partir de fichiers excel et de les stocker dans des tables. J'ai fait le programme à l'aide d'Apache POI et fonctionne très bien. Mais lorsque les fichiers ont des cellules vides comme l'un ici Comment composer avec des cellules vides d'excel fichiers java j'ai quelques problèmes. Le programme d'ignorer les blancs et lire les données. Quelqu'un pourrait-il m'aider comment je ferais? Je sais qu'il y a plusieurs posts à ce problème mais je n'ai pas trouvé quelque chose d'utile pour moi.

Le code pour la lecture des données à partir de fichier excel est le ci-dessous. Comme vous pouvez le voir, j'ai 3 types de données. Comment je donnerais l'option de CELLULE VIDE?

//Create an ArrayList to store the data read from excel sheet.
List sheetData = new ArrayList();
FileInputStream fis = null;
try {
//Create a FileInputStream that will be use to read the
//excel file.
fis = new FileInputStream(strfullPath);
//Create an excel workbook from the file system
HSSFWorkbook workbook = new HSSFWorkbook(fis);
//Get the first sheet on the workbook.
HSSFSheet sheet = workbook.getSheetAt(0);
//store the data read on an ArrayList so that we can printed the
//content of the excel to the console.
Iterator rows = sheet.rowIterator();
while (rows.hasNext()) {
HSSFRow row = (HSSFRow) rows.next();
Iterator cells = row.cellIterator();
List data = new ArrayList();
while (cells.hasNext()) {
HSSFCell cell = (HSSFCell) cells.next();
data.add(cell);
}
sheetData.add(data);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
fis.close();
}
}
showExcelData(sheetData);
}
private static void showExcelData(List sheetData) {
//LinkedHashMap<String, String> tableFields = new LinkedHashMap();
for (int i = 0; i < sheetData.size(); i++) {
List list = (List) sheetData.get(i);
for (int j = 0; j < list.size(); j++) {
Cell cell = (Cell) list.get(j);
if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
System.out.print(cell.getNumericCellValue());
} else if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
System.out.print(cell.getRichStringCellValue());
} else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
System.out.print(cell.getBooleanCellValue());
} else if (cell.getCellType()== Cell.CELL_TYPE_BLANK ){
System.out.print(cell.toString());
}
if (j < list.size() - 1) {
System.out.print(", ");
}
}
System.out.println("");
}
}
}

Aussi j'ai lu sur workbook.setMissingCellPolicy(HSSFRow.RETURN_NULL_AND_BLANK);. Cela pourrait-il m'aider avec mon problème?

Que voulez-vous faire avec les cellules vides? Qu'entendez-vous par "option"?
Mon programme serait de lire ces données et de les stocker dans des tables. Si il saute les cellules vides, puis les données ne serait pas stocké correctement. Je voudrais vous lire ce vide cellule vide de la chaîne, par exemple, et continuer dans le prochain.

OriginalL'auteur dedmar | 2013-05-17