使用poi读取Excel手机号,通常会把它认为成double类型,然后使用科学计数法显示1.32....E10什么的,很苦恼。刚刚查了官方文档https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DataFormatter.html,简单的很,代码如下:

使用DataFormatter格式化一下即可。

 1 package cn.gx.test;
 2
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.FileNotFoundException;
 6 import java.io.IOException;
 7 import java.io.InputStream;
 8 import java.util.logging.Level;
 9 import java.util.logging.Logger;
10
11 import org.apache.poi.ss.usermodel.DataFormatter;
12 import org.apache.poi.xssf.usermodel.XSSFRow;
13 import org.apache.poi.xssf.usermodel.XSSFSheet;
14 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
15
16 public class ExcelRead {
17
18     public ExcelRead() {
19
20     }
21
22     public void testPoiExcel2007(InputStream ios) {
23         // 构造 XSSFWorkbook 对象,strPath 传入文件路径
24         XSSFWorkbook xwb = null;
25         try {
26             xwb = new XSSFWorkbook(ios);
27         } catch (IOException e) {
28             // TODO Auto-generated catch block
29             e.printStackTrace();
30         }
31         // 读取第一章表格内容
32         XSSFSheet sheet = xwb.getSheetAt(0);
33         // 定义 row、cell
34         XSSFRow row;
35         String cell;
36         // 循环输出表格中的内容
37         for (int i = sheet.getFirstRowNum(); i < sheet
38                 .getPhysicalNumberOfRows(); i++) {
39             row = sheet.getRow(i);
40             for (int j = row.getFirstCellNum(); j < row
41                     .getPhysicalNumberOfCells(); j++) {
42                 // 通过 row.getCell(j).toString() 获取单元格内容,
43                 int cellType = row.getCell(j).getCellType();
44                 // System.out.println("cellType:"+cellType);
45                 if (cellType == 0) {
46                     DataFormatter dataFormatter = new DataFormatter();
47                     dataFormatter.addFormat("###########", null);
48                     cell = dataFormatter.formatCellValue(row.getCell(j));
49                 } else {
50
51                     cell = row.getCell(j).toString();
52                 }
53                 System.out.print(cell + "\t");
54             }
55             System.out.println("");
56         }
57     }
58
59     public static void main(String[] args) {
60         String fileName = "D:\\user.xlsx";
61         File file = new File(fileName);
62         InputStream fileInpuStream = null;
63         try {
64             fileInpuStream = new FileInputStream(file);
65         } catch (FileNotFoundException e) {
66             // TODO Auto-generated catch block
67             e.printStackTrace();
68         }
69         // 检测代码
70         try {
71             ExcelRead er = new ExcelRead();
72             // 读取excel2007
73             er.testPoiExcel2007(fileInpuStream);
74         } catch (Exception ex) {
75             Logger.getLogger(ExcelRead.class.getName()).log(Level.SEVERE, null,
76                     ex);
77         }finally{
78             try {
79                 fileInpuStream.close();
80             } catch (IOException e) {
81                 // TODO Auto-generated catch block
82                 e.printStackTrace();
83             }
84         }
85     }
86 }

表格如下:两列,第一列姓名,第二列手机号码

username userphone
wang 13270893332
zhang 15651892525
song 15651236542

控制台输出:

username userphone
wang 13270893332
zhang 15651892525
song 15651236542

有些东西不是你不会,而是你不知道还有其他解决方案

转载于:https://www.cnblogs.com/lucky2u/p/3914977.html

java poi 读取Excel中的手机号相关推荐

  1. java poi 读取Excel中的手机号或电话号码,手机号变成1.8312345678E10格式数据的解决方法

    [现象] 共有2行数据 [张三1, 1.8312345678E10, 张三2, 1.8312345679E10] [解决方法] v.add(row.getCell(1)+""); ...

  2. JAVA POI读取Excel中Cell为null的处理

    空数据:没有任何编辑过的单元格(非空格) 有时候我们需要对根据每一列的信息进行处理,这里就会出现易错的缺陷. 1.不需要这些空数据 row = sheet.getRow(i); for (Cell c ...

  3. java通过poi读取excel中的日期类型数据或自定义类型日期

    java通过poi读取excel中的日期类型数据或自定义类型日期 Java 读取Excel表格日期类型数据的时候,读出来的是这样的  12-十月-2019,而Excel中输入的是 2019/10/12 ...

  4. Java利用Apace POI读取Excel中数据

    Java利用Apace POI读取Excel中数据,解析数据 @Testpublic void readExcel() throws IOException{FileSystemView fsv = ...

  5. POI读取excel中读取小数位数过多,数值精度损失问题解决

    POI读取excel中读取小数位数过多,数值精度损失问题解决 参考来源 项目中需要用到读取excel功能,当excel中有计算公式时,读取到的数值就可能会出现多个小数点的问题 例如: 2.2 --&g ...

  6. java poi读取excel报错Your InputStream was neither an OLE2 stream, nor an OOXML stream

    错误描述 java poi读取excel报错Your InputStream was neither an OLE2 stream, nor an OOXML stream 楼主是读取的另存为的exc ...

  7. 使用poi读取Excel中的数据到数据库

    大家好今儿给大家带来的是使用poi读取Excel中的数据到数据库 目录 大家好今儿给大家带来的是使用poi读取Excel中的数据到数据库 1.poi简单介绍 2.poi操作excel 3.代码部分(可 ...

  8. java poi 读取excel 编码_Java使用POI 读取和写入Excel指南

    做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求:网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0. ...

  9. java poi读取excel文件(xlsx)

    读取excel文件的方法有许多种,这篇文章主要描述通过poi读取excel文件. 先maven导入jar包 <dependency><groupId>org.apache.po ...

  10. 使用Java POI读取excel文档

    Java使用POI读取excel文档教程 一:Poi的介绍 1.简介 1.由apache公司提供 2.Java编写的免费开源的跨平台的Java API 3.提供API给Java程序对Microsoft ...

最新文章

  1. Android学习笔记之progressBar(进度条)
  2. 到底选择PostgreSOL还是MySQL?看这里!
  3. 基于图像的三维模型重建——基础介绍
  4. 随机梯度下降、批量梯度下降、小批量梯度下降分类是什么?有什么区别?batch_size的选择如何实施、有什么影响?
  5. 转载:JSON技术的调研报告(四种常见的JSON格式对比及分析)
  6. 广州的11个辖区_广州“受欢迎”的2个区,相距仅20公里,若“合并”将超黄埔区...
  7. Poj2480欧拉函数
  8. mysql 学习笔记08 日期相关函数2
  9. 哈工程计算机学院培养方案,哈工程2012年硕士培养方案详解(计算机科学与技术学院).doc...
  10. java gwt教程_GWT入门教程
  11. qkerntool使用说明
  12. steam常用计算机,絮絮叨叨的繁星 篇二:新电脑必备——常用验机和跑分软件汇总...
  13. web测试,APP测试和小程序测试特点
  14. 电脑管家急救箱linux,腾讯电脑管家系统急救箱
  15. 昨天买的电动车今天上牌了
  16. 基于两个移动平均线交叉的EA
  17. 阿里架构师的炫技与克制:代码的两种味道与态度
  18. 手游冷知识丨为什么绝大多数手游不开放自由交易系统?
  19. H.264区分NALU startCode和NALU 内部和startCode相同的内容
  20. 百度网盘加速无限试用_单次付费来了!百度网盘推出3元/5分钟加速下载服务

热门文章

  1. paip.c++ qt creator svn 设置以及使用总结.
  2. paip.SQL特殊字符转义字符处理
  3. 跨语言传输调用对象.TXT
  4. 软件逆向分析方法小结
  5. 稀缺的“稳定”--业绩导向的基金筛选困局
  6. 祝威廉 :Rust FFI 实践
  7. Julia: 如何转换PyPlot的X轴的日期格式?
  8. 再启程,Service Mesh 前路虽长,尤可期许
  9. 重磅!解读国内唯一入选全球顶会SIGCOMM的阿里云网络论文
  10. 【DVRP】基于matlab蚁群算法求解带距离的VRP问题【含Matlab源码 1040期】