java使用poi读取excel时,电话号码变成了科学计数法,整数变成double,怎么改过来

public void loadin()
{
ImportExecl_sim poi = new ImportExecl_sim();
List<List<String>> list = poi.read("f:/车辆终端号和sim卡号的绑定.xls");
if (list != null)
{
list.remove(0);
for (int i = 0; i < list.size(); i++)
{
System.out.print("第" + (i+1) + "行");
List<String> cellList = list.get(i);
for (int j = 0; j <cellList.size(); j++)
{
System.out.print(" " + cellList.get(j));
}
System.out.println();
for(int z=1;z<2;z=z+3)
{
String str1=new String();
if(cellList.get(z)==""||cellList.get(z)==null){
str1="";

loadinconn_sim.conn(str1,cellList.get(z+1),cellList.get(z+2));
}else{
loadinconn_sim.conn(cellList.get(z), cellList.get(z+1),cellList.get(z+2));
}}}}}

cellList.get(z):zd_xh
cellList.get(z+1):sim_no
cellList.get(z+2)):zd_no
把下面的case HSSFCell.CELL_TYPE_NUMERIC: 判断条件改下就可以了

switch (cell.getCellType())
{
case HSSFCell.CELL_TYPE_NUMERIC: // 数字
BigDecimal bd = new BigDecimal(cell.getNumericCellValue());
cellValue = bd.toString();
// cellValue = cell.getNumericCellValue() + "";
break;

default:

break;
}

为了防止数字变成科学计数法方式表示,在源文件以及java代码中都用文的方式去生成和解析excel,具体如下:

生成Excel时,设置单元格格式为STRING,即:

//关键代码

HSSFCell  cell = new HSSFCell();

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

同理,解析的时候,首先要保证源excel文件中该单元格格式是文本类型的,然后在java代码里用STRING类型去解析:

//关键代码

String value = cell.getStringCellValue();

扩展资料;

在这里,将只介绍一些和格式设置有关的语句,假定workbook就是对一个工作簿的引用。在Java中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:

创建字体,设置其为红色、粗体:

HSSFFont font = workbook.createFont();

font.setColor(HSSFFont.COLOR_RED);

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

参考资料来源:百度百科-POI

温馨提示:答案为网友推荐,仅供参考
相似回答