使用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 |