05_Excel操作_03_模拟Web环境的Excel导入
【思路简述】
本文继续上一篇文章,上一篇中生成了“D://用户列表.xls”的excel文件,我们接下来将这个excel导入,然后显示在控制台上。
工程什么的都同上一篇文章,只是在ExcelService.java中添加了一个inputExcel()的方法,如下:
【ExcelService.java】
@Test
public void inputExcel(){
File userExcel=new File("D:\\用户列表.xls");
try {
FileInputStream fileInputStream =new FileInputStream(userExcel);
//1.读取工作簿
Workbook workbook=WorkbookFactory.create(userExcel);
//2.读取工作表
Sheet sheet=workbook.getSheetAt(0);
//读取行
if(sheet.getPhysicalNumberOfRows()>2){ //读取Excel的行数
//读取单元格,存入User对象中
User user =null;
Row row=null;
for(int i=2;i<sheet.getPhysicalNumberOfRows();i++){ //从第3行开始读取,前两行都是标题
//3.读取行
row=sheet.getRow(i); //第i行
user=new User();
//4.读取单元格
Integer id=Integer.valueOf(row.getCell(0).getStringCellValue());
user.setId(id);
String name=row.getCell(1).getStringCellValue();
user.setName(name);
String sex=row.getCell(2).getStringCellValue();
user.setSex(sex);
String phone;
try {
phone =row.getCell(3).getStringCellValue();
} catch (Exception e) {
System.out.println("科学计数......");
//排除 Excel单元格科学计数的时候提取数据错误
double dPhone=row.getCell(3).getNumericCellValue();
//BigDecimal将科学计数方式的数值转化成一个正常的数值并转换成字符串
phone=BigDecimal.valueOf(dPhone).toString();
}
user.setPhone(phone); String email=row.getCell(4).getStringCellValue();
user.setEmail(email); //正常的话在这里会有一句执行插入数据库的操作
System.out.println(user.toString());
}
}
workbook.close();
fileInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
【运行结果】
在控制台上(对了,要在User.java中补充一个toString()方法):
05_Excel操作_03_模拟Web环境的Excel导入的更多相关文章
- 05_Excel操作_02_模拟Web环境的User列表导出
[思路解释] 在正式上到WebProject之前,准备模拟一下WebProject后台的导出流程. 主要都写在ExcelService层,在Excel的Service层,首先要获得UserList,即 ...
- 利用 Apache Synapse 模拟 Web 服务
Apache Synapse 是一个简单.轻量级的高性能企业服务总线 (ESB),它是在 Apache Software Foundation 的 Apache License Version 2.0 ...
- 模拟web服务器 (小项目) 搭建+部署
模拟web服务器:可以从浏览器中访问到自己编写的服务器中的资源,将其资源显示在浏览器中. 技术选型: corejava 线程池 同任务并发执行 IO流 传递数据 客户端也会像服务端发送数据, 服务器像 ...
- ubuntu14.04安装及web环境的搭建
在进行接下来的工作之前首先得准备一个Ubuntu的启动U盘以及腾出一个至少50G的系统盘(在网上看到有人用20G的,不知道效果怎么样).关于Ubuntu启动U盘大家可以参考这个帖子 http://ti ...
- 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的生命周期和程序的生命周期
[源码下载] 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的 ...
- 在linux CentOS6上安装web环境
感谢浏览,欢迎交流=.= 都说linux作为服务器优于window,近期也是学习了下linux. win7下安装了linux虚拟机,购买linux阿里云主机,开启linux之旅. 进入正题,在linu ...
- linux服务器WEB环境一键安装包lanmp教程之五
在我们安装了linux服务器WEB环境一键安装包lanmp后,可能会有不少疑问还有就是使用过程中出现的问题,下面为大家总结几点比较常见的,如若还有其他疑问,可到wdlinux论坛寻找相关教程. 1.增 ...
- 使用Docker搭建简易的 Java Web 环境
 从[<从最简单的入手学习 Docker ...
- C# httpclient获取cookies实现模拟web登录
目前在公司做一款平台化的产品,我主要负责PC端上的开发,在产品推荐过程中为了节省开发时间很多功能模块没来得及做原生,用CEF嵌入了很多带功能web页面,与客户端进行交互从而实现功能. 在二期开发中,产 ...
随机推荐
- POJ3080 - Blue Jeans(KMP+二分)
题目大意 求N个字符串的最长公共字串 题解 和POJ1226做法一样...注意是字典序最小的...WA了一次 代码: #include <iostream> #include <cs ...
- CF402E Strictly Positive Matrix 传递闭包用强连通分量判断
题目链接:http://codeforces.com/problemset/problem/402/E /**算法分析: 这道题考察了图论基本知识,就是传递闭包,可以构图用强联通分量来判断 */ #i ...
- light oj 1155 - Power Transmission【拆点网络流】
1155 - Power Transmission PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 ...
- hdu 2711&&poj2182 Lost Cows (线段树)
从后往前查第一个为0的奶牛肯定应该排在第一个.每次从后往前找到第一个为0的数,这个数应该插在第j位.查找之后,修改节点的值为极大值,当整棵树的最小值不为0的时候查找结束. 至于这种查找修改的操作,再没 ...
- AS3 IOC框架Spring Actionscript 的使用总结
Spring Actionscript 是众多围绕依赖注入提供解决方案的Flex控制反转框架之一 AS3 下经典的IOC框架有Spring ActionScript.Parsley.Flicc和Swi ...
- T-SQL语句查看作业等信息
因服务器需要迁移,需要将现有JOB迁移至新服务器,待服务器调整完毕,则重新迁移到原服务器,所以在做迁移之前希望将现有JOB进行备份,不至于乱了执行时间.1.查看所有作业列表USE master SEL ...
- 记RedisDesktopManager的一次崩溃
redis3.2的配置文件中有bind监听地址 bind 192.168.42.131默认bind的填写的127.0.0.1这样配置是只允许本地访问,如果想远程访问就改为本机网卡绑定的ip地址.我这边 ...
- C# 基础知识 protected 关键字
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Console ...
- jQuery 编辑div内容
div显示如下 <div id="showResult"></div> div中添加的html,进行拼接 $("#showResult" ...
- Android UI开发第三十三篇——Navigation Drawer For Android API 7
Creating a Navigation Drawer中使用的Navigation Drawer的android:minSdkVersion="14",现在Android API ...