Wie Lesen Sie numerische Werte aus excel in java?

Ich habe einen code zu Lesen, eine xls-Datei in java.

Aber das problem ist, dass, wenn ich Lesen Sie den numerischen Wert, die Zeit es gibt mir ein Falsches format Wert.
Mein code ist

String fname = "D:/Vijay/BRS_docs/10168/19.11.2014/19.11.2014/Bank/Debit Open Item File/INF 21 Case.xls";
FileInputStream fis = new FileInputStream(fname);
        HSSFWorkbook wb = new HSSFWorkbook(fis);
        HSSFSheet sheet = (HSSFSheet) wb.getSheetAt(0);
        FormulaEvaluator formulaEval = wb.getCreationHelper().createFormulaEvaluator();
        fis = new FileInputStream(fname);
        Iterator rowIter = sheet.rowIterator();
        while (rowIter.hasNext()) {
            HSSFRow myRow = (HSSFRow) rowIter.next();
            Iterator cellIter = myRow.cellIterator();
                while (cellIter.hasNext()) {
                    String cellvalue = "";
                    HSSFCell myCell = (HSSFCell) cellIter.next();
                        cellvalue = ""+ formulaEval.evaluate(myCell).formatAsString();
                        System.out.println("cellvalue--" + cellvalue);
                }
        }

Habe ich Wert 119710179 dies ist numerisch, aber wenn ich syso, dass es Zeit display - cellvalue--1.19710179E8

Ich habe diesen code auch, aber dieselbe numerische fomat

Iterator cellIter = myRow.cellIterator();

                while (cellIter.hasNext()) {
                    String cellvalue = "";
                    HSSFCell myCell = (HSSFCell) cellIter.next();
                        if (myCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
                            System.out.println("11");
                            cellvalue = myCell.getStringCellValue();
                        } else if (myCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                            System.out.println("22");
                             if (DateUtil.isCellDateFormatted(myCell)) {
                                 cellvalue = myCell.getDateCellValue().toString();
                                } else {
                                    cellvalue = Double.toString(myCell.getNumericCellValue());
                                }
                        } else if (myCell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) {
                            System.out.println("33");
                            cellvalue = "" + myCell.getBooleanCellValue();
                        } else if (myCell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {
                            System.out.println("44");
                            cellvalue = ""+ formulaEval.evaluate(myCell).formatAsString();
                        } else if (myCell.getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                            System.out.println("55");
                            cellvalue = "";
                        }
                        System.out.println("cellvalue--" + cellvalue);
                    }
            }

Alle Werte werden richtig angezeigt, aber das ist nur ein Wert falsch.
Vielen Dank im Voraus

  • oder, wie ändern Zelltyp von excel in text-format?
InformationsquelleAutor vijayk | 2014-12-29
Schreibe einen Kommentar