java poi导入EXCEL xls文件代码
/**
*
*/
package com.bn.car.common.report.excel; import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import com.bn.car.biz.supply.dto.PartsInfoDTO; /**
* @author huangjing
* @date 2014-1-24
*/
public class XlsMain {
public static void main(String[] args) throws IOException {
try {
XlsMain xlsMain = new XlsMain();
PartsInfoDTO dto = null;
List<PartsInfoDTO> list = xlsMain.readXls("d://parts2.xls");
// System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
dto = list.get(i);
System.out.println(dto.getPartsCode() +"--"+dto.getPartsName() +"--"+dto.getStoreNum() +"--"+dto.getCostPrice() +"--"+dto.getMarketPrice() +"--"+dto.getRetailPrice() +"--"+dto.getWeight() +"--"+dto.getUpdown());
}
System.out.println("OK!!");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
} /**
* 读取xls文件内容
*
* @return List<XlsDto>对象
* @throws IOException
* 输入/输出(i/o)异常
*/
public static List<PartsInfoDTO> readXls(String xlspath) throws IOException {
InputStream is = new FileInputStream(xlspath);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
PartsInfoDTO dto = null;
List<PartsInfoDTO> list = new ArrayList<PartsInfoDTO>();
// 循环工作表Sheet
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
// System.out.println("hssfSheet:" + hssfSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row,从第一行开始。
for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
// System.out.println("hssfRow:"+hssfRow);
if (hssfRow == null) {
continue;
}
dto = new PartsInfoDTO();
// 循环列Cell
// 0学号 1姓名 2学院 3课程名 4 成绩
// for (int cellNum = 0; cellNum <=4; cellNum++) {
HSSFCell cell = hssfRow.getCell(0);
// System.out.println("cell:" + cell);
if (cell == null) {
continue;
}
dto.setPartsCode(getValue(cell)); cell = hssfRow.getCell(1);
// System.out.println("cell1:" + cell);
if (cell == null) {
continue;
}
dto.setPartsName(getValue(cell)); cell = hssfRow.getCell(2);
// System.out.println("cell2:" + cell);
if (cell == null) {
continue;
}
dto.setStoreNum(Float.valueOf(getValue(cell)).intValue()); cell = hssfRow.getCell(3);
// System.out.println("cell3:" + cell);
if (cell == null) {
continue;
}
dto.setCostPrice(Float.valueOf(getValue(cell))); cell = hssfRow.getCell(4);
// System.out.println("cell4:" + cell);
if (cell == null) {
continue;
}
dto.setMarketPrice(Float.parseFloat(getValue(cell))); cell = hssfRow.getCell(5);
// System.out.println("cell5:" + cell);
if (cell == null) {
continue;
}
dto.setRetailPrice(Float.parseFloat(getValue(cell))); cell = hssfRow.getCell(6);
// System.out.println("cell6:" + cell);
if (cell == null) {
continue;
}
dto.setWeight(Float.parseFloat(getValue(cell))); cell = hssfRow.getCell(7); //写成8了,取不到,所以不执行下面的代码~!!
// System.out.println("cell7:" + cell);
if (cell == null) {
continue;
}
if(getValue(cell).equals("是")){
dto.setUpdown(1);
}else{
dto.setUpdown(0);
} // System.out.println("上下架:"+dto.getUpdown());
list.add(dto);
}
}
// System.out.println("SIZE:" + list.size());
return list;
} /**
* 得到Excel表中的值
*
* @param hssfCell
* Excel中的每一个格子
* @return Excel中每一个格子中的值
*/
@SuppressWarnings("static-access")
public static String getValue(HSSFCell hssfCell) {
if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
// 返回布尔类型的值
return String.valueOf(hssfCell.getBooleanCellValue());
} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
// 返回数值类型的值
return String.valueOf(hssfCell.getNumericCellValue());
} else {
// 返回字符串类型的值
return String.valueOf(hssfCell.getStringCellValue());
}
} }
parts2.xls (导入模板文件~!)

java poi导入EXCEL xls文件代码的更多相关文章
- java poi导出EXCEL xls文件代码
String _currentPage = request.getParameter("currentPage"); Integer currentPage = 0; if(_cu ...
- java poi导入Excel(个人代码)
案例使用的框架:jsp+spring+mybaties <form id="importForm" name="importForm" method=&q ...
- 在java poi导入Excel通用工具类示例详解
转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36 作者:daochuwenziyao 我要评论 这篇文章主要给大家介绍了关于在j ...
- Java POI导入Excel文件
今天在公司需要做个导入Excel文件的功能,所以研究了一下,参考网上的一些资料总算是做出来了,在此记录一下防止以后忘记怎么弄. 本人用的是poi3.8,所以需要的JAR包如下: poi-3.8.jar ...
- java poi 导入excel
最近项目需要导入excel,网上有很多例子,自己整合记录下,兼容2003和2007,暂时没有添加图片处理功能. 所需jar包 http://pan.baidu.com/s/1sjPuWDR pack ...
- 解决java POI导入Excel超时问题
由于要导入大量数据,后台会耗费很长时间,导致超时. 本项目前端request.js中设定的超时时间为150s. const service = axios.create({ baseURL: base ...
- Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)
ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...
- java如何导入Excel文件
Java使用POI导入Excel文件,操作起来比较简单,支持xlsx格式. 下载POI资源包 从官网https://poi.apache.org/下载POI,笔者选择的是版本是3.17,下载后文件名是 ...
- 纳税服务系统【用户模块之使用POI导入excel、导出excel】
前言 再次回到我们的用户模块上,我们发现还有两个功能没有完成: 对于将网页中的数据导入或导出到excel文件中,我们是完全没有学习过的.但是呢,在Java中操作excel是相对常用的,因此也有组件供我 ...
随机推荐
- (转)消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ
RabbitMQ.ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼.下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了. Rab ...
- 济南学习 Day 3 T3 pm
仙人掌(cactus)Time Limit:1000ms Memory Limit:64MB题目描述LYK 在冲刺清华集训(THUSC) !于是它开始研究仙人掌,它想来和你一起分享它最近研究的结果. ...
- 关于java的转义字符
关于java的转义字符 我们都知道 String s="ad,dfjdlfs,df,s,dfl"; 执行 String re[]=s.split(&qu ...
- java基础-注解Annotation原理和用法
在很多java代码中都可以看到诸如@Override.@Deprecated.@SuppressWarnings这样的字符,这些就是注解Annotation.注解最早在jdk5中被引入,现在已经成为j ...
- 添加远程链接MySQL的权限
mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’; 权限1,权限2,…权限n代表select,ins ...
- iOS实现图片的缩放和居中显示
直接上代码 // // MoveScaleImageController.h // MoveScaleImage // // Created by on 12-4-24. // Copyright ( ...
- 关于JS异步加载方案
javascript延迟加载的解决方案: 1.使用defer标签 <span style="font-size: small;"><script type=&qu ...
- Oracle内存组件理论篇一
目标 1.SGA结构 2.PGA结构 1.SGA Shared pool 1).共享池是对SQL.PL/SQL程序进行语法分析.编译.执行的内存区域. 在执行SELECT * FROM emp语句时, ...
- find命令小结
find命令小结 find命令用于在系统中查找文件,配合 -exec 选项或 xargs命令还能对查找到得文件执行一些列的自动化操作. 基本格式:find [-H] [-L] [-P] [path.. ...
- 大陆Azure 改版
好吧主页的又改版了这下终于容易区分大陆与国际版的区别了.2014年12月12日起改版. 主页再次沦落为找不到东西的后果,其实很少进入这个主页,一般也直接使用http://manage.windowsa ...