java poi 读取Excel中的手机号
使用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中的手机号相关推荐
- java poi 读取Excel中的手机号或电话号码,手机号变成1.8312345678E10格式数据的解决方法
[现象] 共有2行数据 [张三1, 1.8312345678E10, 张三2, 1.8312345679E10] [解决方法] v.add(row.getCell(1)+""); ...
- JAVA POI读取Excel中Cell为null的处理
空数据:没有任何编辑过的单元格(非空格) 有时候我们需要对根据每一列的信息进行处理,这里就会出现易错的缺陷. 1.不需要这些空数据 row = sheet.getRow(i); for (Cell c ...
- java通过poi读取excel中的日期类型数据或自定义类型日期
java通过poi读取excel中的日期类型数据或自定义类型日期 Java 读取Excel表格日期类型数据的时候,读出来的是这样的 12-十月-2019,而Excel中输入的是 2019/10/12 ...
- Java利用Apace POI读取Excel中数据
Java利用Apace POI读取Excel中数据,解析数据 @Testpublic void readExcel() throws IOException{FileSystemView fsv = ...
- POI读取excel中读取小数位数过多,数值精度损失问题解决
POI读取excel中读取小数位数过多,数值精度损失问题解决 参考来源 项目中需要用到读取excel功能,当excel中有计算公式时,读取到的数值就可能会出现多个小数点的问题 例如: 2.2 --&g ...
- 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 ...
- 使用poi读取Excel中的数据到数据库
大家好今儿给大家带来的是使用poi读取Excel中的数据到数据库 目录 大家好今儿给大家带来的是使用poi读取Excel中的数据到数据库 1.poi简单介绍 2.poi操作excel 3.代码部分(可 ...
- java poi 读取excel 编码_Java使用POI 读取和写入Excel指南
做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求:网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0. ...
- java poi读取excel文件(xlsx)
读取excel文件的方法有许多种,这篇文章主要描述通过poi读取excel文件. 先maven导入jar包 <dependency><groupId>org.apache.po ...
- 使用Java POI读取excel文档
Java使用POI读取excel文档教程 一:Poi的介绍 1.简介 1.由apache公司提供 2.Java编写的免费开源的跨平台的Java API 3.提供API给Java程序对Microsoft ...
最新文章
- Android学习笔记之progressBar(进度条)
- 到底选择PostgreSOL还是MySQL?看这里!
- 基于图像的三维模型重建——基础介绍
- 随机梯度下降、批量梯度下降、小批量梯度下降分类是什么?有什么区别?batch_size的选择如何实施、有什么影响?
- 转载:JSON技术的调研报告(四种常见的JSON格式对比及分析)
- 广州的11个辖区_广州“受欢迎”的2个区,相距仅20公里,若“合并”将超黄埔区...
- Poj2480欧拉函数
- mysql 学习笔记08 日期相关函数2
- 哈工程计算机学院培养方案,哈工程2012年硕士培养方案详解(计算机科学与技术学院).doc...
- java gwt教程_GWT入门教程
- qkerntool使用说明
- steam常用计算机,絮絮叨叨的繁星 篇二:新电脑必备——常用验机和跑分软件汇总...
- web测试,APP测试和小程序测试特点
- 电脑管家急救箱linux,腾讯电脑管家系统急救箱
- 昨天买的电动车今天上牌了
- 基于两个移动平均线交叉的EA
- 阿里架构师的炫技与克制:代码的两种味道与态度
- 手游冷知识丨为什么绝大多数手游不开放自由交易系统?
- H.264区分NALU startCode和NALU 内部和startCode相同的内容
- 百度网盘加速无限试用_单次付费来了!百度网盘推出3元/5分钟加速下载服务
热门文章
- paip.c++ qt creator svn 设置以及使用总结.
- paip.SQL特殊字符转义字符处理
- 跨语言传输调用对象.TXT
- 软件逆向分析方法小结
- 稀缺的“稳定”--业绩导向的基金筛选困局
- 祝威廉 :Rust FFI 实践
- Julia: 如何转换PyPlot的X轴的日期格式?
- 再启程,Service Mesh 前路虽长,尤可期许
- 重磅!解读国内唯一入选全球顶会SIGCOMM的阿里云网络论文
- 【DVRP】基于matlab蚁群算法求解带距离的VRP问题【含Matlab源码 1040期】