Java HSSFCell toString返回双值代替字符串

Java HSSFCell toString返回双值代替字符串,java,apache-poi,Java,Apache Poi,大家好,我是java的初学者。我正在为我的android手机创建一个应用程序,我必须读取excel文件,为此我使用POI。我的代码如下所示 Iterator<Row> rowIter = mySheet.rowIterator(); String phone_no = null; String message =null; int cell=0; while(rowIter.hasNext()){ HSSFRow

大家好,我是java的初学者。我正在为我的android手机创建一个应用程序,我必须读取excel文件,为此我使用POI。我的代码如下所示

    Iterator<Row> rowIter = mySheet.rowIterator();
    String phone_no = null;
    String message =null;
    int cell=0;
        while(rowIter.hasNext()){
            HSSFRow myRow = (HSSFRow) rowIter.next();
            Iterator<Cell> cellIter = myRow.cellIterator();                
            cell=0;
            while(cellIter.hasNext()){
                HSSFCell myCell = (HSSFCell) cellIter.next();

                if(cell==0){
                    phone_no=myCell.toString();                     
                }
                 else if(cell==1){
                    message=myCell.toString();                        

            }
          cell++;
        }    
      }  
Iterator rowIter=mySheet.rowiiter();
字符串phone_no=null;
字符串消息=null;
int单元=0;
while(rowIter.hasNext()){
HSSFRow myRow=(HSSFRow)rowIter.next();
迭代器cellIter=myRow.cellIterator();
细胞=0;
while(cellIter.hasNext()){
HSSFCell myCell=(HSSFCell)cellIter.next();
如果(单元格==0){
phone_no=myCell.toString();
}
else if(单元格==1){
message=myCell.toString();
}
cell++;
}    
}  
我的excel表格第一列包含电话号码,第二列包含消息。当我运行代码时,我得到的电话号码是1.23456789E9,我需要它,就像123456780一样。但是在消息的情况下,我得到了变量的完整字符串,就像我给excel一样


Thanaks提前…

首先,您的代码中存在一些逻辑错误-

cell = 0;
while(cellIter.hasNext()){

    if(cell == 0) {

    }

    if(cell == 1) {

    }

其次,不要盲目地调用
toString
方法,请阅读。

我认为您必须在获取infotry myCell.setCellType(cell.cell\u type\u STRING)之前更改excel单元格类型,然后再将任何主体返回主页?你试过了吗?嗨,巴维克·沙阿,它现在起作用了。我没有正确阅读参考手册。非常感谢……是的,这是一个逻辑错误。我同意第二个“如果”应该是“elseif”或“else”。谢谢你指出我的错误…@Haris:No,
cell=0
是问题所在。在那之后,
单元格
永远不会是1。是的,我在发布代码时弄错了。但我是用我的代码做的。我将编辑我的帖子。