Java HSSFCell toString返回双值代替字符串
大家好,我是java的初学者。我正在为我的android手机创建一个应用程序,我必须读取excel文件,为此我使用POI。我的代码如下所示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
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。是的,我在发布代码时弄错了。但我是用我的代码做的。我将编辑我的帖子。