文档章节

java poi将excel文件导入

达文西W
 达文西W
发布于 2017/03/08 15:47
字数 657
阅读 65
收藏 0

最近需要Excel文件导入数据库,所以简单做了一下 这个是导入的代码

`/** * 读取xls文件内容 * 输入/输出(i/o)异常 */ private List<XlsDto> readXls() throws IOException { InputStream is = new FileInputStream("E:/text/sharecertificate.xls"); HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is); XlsDto xlsDto = null; List<XlsDto> list = new ArrayList<XlsDto>(); // 循环工作表Sheet for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) { HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet); if (hssfSheet == null) { continue; } // 循环行Row for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { HSSFRow hssfRow = hssfSheet.getRow(rowNum); if (hssfRow == null) { continue; } xlsDto = new XlsDto(); //代码 HSSFCell daima = hssfRow.getCell(0); if (daima == null) { continue; } xlsDto.setDaima(getValue(daima));

            //名称
            HSSFCell name = hssfRow.getCell(1);
            if (name == null) {
                continue;
            }
            xlsDto.setName(getValue(name));
            
            //最新价
            
            HSSFCell newprice = hssfRow.getCell(2);
            if (newprice == null) {
                continue;
            }
            xlsDto.setNewprice(getValue(newprice));
            
            //涨跌幅

            HSSFCell zhangdiefu = hssfRow.getCell(3);
            if (zhangdiefu == null) {
                continue;
            }
            xlsDto.setZhangdiefu(getValue(zhangdiefu));
            //涨跌额
            HSSFCell zhangdiee = hssfRow.getCell(4);
            if (zhangdiee == null) {
                continue;
            }
            xlsDto.setZhangdiee(getValue(zhangdiee));
            //买入
            
            
            
            
            HSSFCell mairu = hssfRow.getCell(5);
            if (mairu == null) {
                continue;
            }
            xlsDto.setMairu(getValue(mairu));
            
            //卖出
            
            HSSFCell maichu = hssfRow.getCell(6);
            if (maichu == null) {
                continue;
            }
            xlsDto.setMaichu(getValue(maichu));
            //成交量
            HSSFCell chengjiaoliang = hssfRow.getCell(7);
            if (chengjiaoliang == null) {
                continue;
            }
            xlsDto.setChengjiaoliang(getValue(chengjiaoliang));
            
            //chengjiaoe
            
            
            HSSFCell chengjiaoe = hssfRow.getCell(8);
            if (chengjiaoe == null) {
                continue;
            }
            xlsDto.setChengjiaoe(getValue(chengjiaoe));
            
            
            //金凯
            HSSFCell jinkai = hssfRow.getCell(9);
            if (jinkai == null) {
                continue;
            }
            xlsDto.setJinkai(getValue(jinkai));
            
            //昨收
            HSSFCell zuoshou = hssfRow.getCell(10);
            if (zuoshou == null) {
                continue;
            }
            xlsDto.setZuoshou(getValue(zuoshou));
            
            
            
               //最高
            HSSFCell zuigao = hssfRow.getCell(11);
            if (zuigao == null) {
                continue;
            }
            xlsDto.setZuigao(getValue(zuigao));
            
            //最低
            
            HSSFCell zuidi = hssfRow.getCell(12);
            if (zuidi == null) {
                continue;
            }
            xlsDto.setZuidi(getValue(zuidi));
       
            
            list.add(xlsDto);
            
        }
    }
    		return list;
}

/**
 * 得到Excel表中的值
 * 
 * [@param](https://my.oschina.net/u/2303379) hssfCell
 *            Excel中的每一个格子
 * [@return](https://my.oschina.net/u/556800) Excel中每一个格子中的值
 */
@SuppressWarnings("static-access")
private 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());
    }
}
`

实体类根据自己需求去设计

package pojo;

public class XlsDto {
	private int id;
	private String daima;
	private String name;
	private String newprice;
	private String zhangdiefu;
	private String zhangdiee;
	private String mairu;
	private String maichu;
	private String chengjiaoliang;
	public String getChengjiaoliang() {
		return chengjiaoliang;
	}

	public void setChengjiaoliang(String chengjiaoliang) {
		this.chengjiaoliang = chengjiaoliang;
	}

	private String chengjiaoe;
	private String jinkai;
	private String zuoshou;
	private String zuigao;
	private String zuidi;
	
	public XlsDto() {
		
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getDaima() {
		return daima;
	}

	public void setDaima(String daima) {
		this.daima = daima;
	}
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getNewprice() {
		return newprice;
	}

	public void setNewprice(String newprice) {
		this.newprice = newprice;
	}

	public String getZhangdiefu() {
		return zhangdiefu;
	}

	public void setZhangdiefu(String zhangdiefu) {
		this.zhangdiefu = zhangdiefu;
	}

	public String getZhangdiee() {
		return zhangdiee;
	}

	public void setZhangdiee(String zhangdiee) {
		this.zhangdiee = zhangdiee;
	}

	public String getMairu() {
		return mairu;
	}

	public void setMairu(String mairu) {
		this.mairu = mairu;
	}

	public String getMaichu() {
		return maichu;
	}

	public void setMaichu(String maichu) {
		this.maichu = maichu;
	}

	public String getChengjiaoe() {
		return chengjiaoe;
	}

	public void setChengjiaoe(String chengjiaoe) {
		this.chengjiaoe = chengjiaoe;
	}

	public String getJinkai() {
		return jinkai;
	}

	public void setJinkai(String jinkai) {
		this.jinkai = jinkai;
	}

	public String getZuoshou() {
		return zuoshou;
	}

	public void setZuoshou(String zuoshou) {
		this.zuoshou = zuoshou;
	}

	public String getZuigao() {
		return zuigao;
	}

	public void setZuigao(String zuigao) {
		this.zuigao = zuigao;
	}

	public String getZuidi() {
		return zuidi;
	}

	public void setZuidi(String zuidi) {
		this.zuidi = zuidi;
	}
	
	
	

}

返回的是一个list的对象集合,所以如果存入不同的数据库,更换不同的数据库连接就可以了

© 著作权归作者所有

达文西W

达文西W

粉丝 9
博文 29
码字总数 6998
作品 0
朝阳
程序员
私信 提问
Java读取Excel数据:基于Apache POI(一)

版权声明:本文为Zhang Phil原创文章,请不要转载! https://blog.csdn.net/zhangphil/article/details/85302347 Java读取Excel数据:基于Apache POI(一) Java本身不支持直接读取微软的Exc...

zhangphil
2018/12/27
0
0
Java Apache POI 操作 Excel 导出

版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82655653 Java Apache POI 操作 Excel 导出 Java 可以通过 Apache POI......

asing1elife
2018/09/12
0
0
Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表

在上一篇博客中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式。不仅仅简单的读取office中的数据.尤其是在生产管理...

长平狐
2012/11/12
1K
0
java excel 的POI导入

Excel导入: 使用apache 的POI进行excel的导入, 1. pom.xml中添加依赖 commons-fileupload commons-fileupload 1.3.2 org.apache.poi poi-oox...

u010398771
2018/04/17
0
0
jxl导入/导出Excel(Maven)

About jxl is a pure java 5 super-project that includes Enclosure, Peermi, Enshell, and Xlp. jxl && POI jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Exc......

coderzs
2017/08/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
16
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
18
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部