Excel数据批量导入到数据库
1.今天做批量导入网上找了个例子,改了改,运行起来了。用POI实现Excel的读取,需要jar包。
2.ReadExcel.java读取数据
/*** */ package com.b510.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.b510.common.Common; import com.b510.excel.vo.Student;/*** @author Hongten* @created 2014-5-18*/ public class ReadExcel {public List<Student> readXls() throws IOException {InputStream is = new FileInputStream(Common.EXCEL_PATH);HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);Student student = null;List<Student> list = new ArrayList<Student>();// 循环工作表Sheetfor (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);if (hssfSheet == null) {continue;}// 循环行Rowfor (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {HSSFRow hssfRow = hssfSheet.getRow(rowNum);if (hssfRow != null) {student = new Student();HSSFCell no = hssfRow.getCell(0);HSSFCell name = hssfRow.getCell(1);HSSFCell age = hssfRow.getCell(2);HSSFCell score = hssfRow.getCell(3);student.setNo(getValue(no));student.setName(getValue(name));student.setAge(getValue(age));student.setScore(Float.valueOf(getValue(score)));list.add(student);}}}return list;}@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());}} }
3.SaveData2DB.ava保存数据
/*** */
package com.b510.excel;import java.io.IOException;
import java.sql.SQLException;
import java.util.List;import com.b510.common.Common;
import com.b510.excel.util.DbUtil;
import com.b510.excel.vo.Student;/*** @author Hongten* @created 2014-5-18*/
public class SaveData2DB {@SuppressWarnings({ "rawtypes" })public void save() throws IOException, SQLException {ReadExcel xlsMain = new ReadExcel();Student student = null;List<Student> list = xlsMain.readXls();for (int i = 0; i < list.size(); i++) {student = list.get(i);List l = DbUtil.selectOne(Common.SELECT_STUDENT_SQL + "'%" + student.getName() + "%'", student);if (!l.contains(1)) {DbUtil.insert(Common.INSERT_STUDENT_SQL, student);} else {System.out.println("The Record was Exist : No. = " + student.getNo() + " , Name = " + student.getName() + ", Age = " + student.getAge() + ", and has been throw away!");}}}
}
4.源程序http://files.cnblogs.com/files/feifeishi/ExcelTest.rar
转载于:https://www.cnblogs.com/feifeishi/p/6127547.html
Excel数据批量导入到数据库相关推荐
- dataset中的数据批量导入oracle数据库,c#如何将dataset中的数据批量导入oracle数据库...
c#如何将dataset中的数据批量导入oracle数据库以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c#如何将da ...
- java excel批量导入数据库数据_Java实现Excel数据批量导入数据库
Java实现Excel数据批量导入数据库 概述: 这个小工具类是工作中的一个小插曲哦,因为提数的时候需要跨数据库导数... 有的是需要从oracle导入mysql ,有的是从mysql导入oracle ...
- POI和EasyExcel实现Excel数据批量读取到数据库
POI和easyExcel讲解 目的:这一部分我主要是为了实现excel数据批量插入到数据库. 参考:狂神说java的上课笔记 视屏教学网址 常用信息 1,将用户信息导出为excel表格 2,讲Exc ...
- 【Springboot+mybatis】 解析Excel并批量导入到数据库
[Springboot+mybatis] 解析Excel并批量导入到数据库 置顶 2018年01月16日 20:05:52 冉野丶 阅读数:4060 标签: excel导入数据库 文件上传 excel ...
- 多个excel文件批量导入到数据库
多个excel文件批量导入到数据库 摘要:我们可以用navicate等数据库编辑器的excel导入功能将一个excel导入到数据库,但是我们有多个excel甚至成百上千怎么办?这个时候用navicat ...
- PHP将excel文件中的数据批量导入到数据库中
2019独角兽企业重金招聘Python工程师标准>>> 这几天在做项目时,遇到了需要批量导入数据的情况,用户将excel表格提交后,需要我们后台这边将excel表格信息中的内容全部插 ...
- php excel批量导入,PHP将excel文件中的数据批量导入到数据库中
这几天在做项目时,遇到了需要批量导入数据的情况,用户将excel表格提交后,需要我们后台这边将excel表格信息中的内容全部插入到数据表中.当然,前提是用户给我们的excel表格中的信息必须和我们表中 ...
- 将Excel表格数据批量导入MySQL数据库表中
在实际的生产开发需求中很多时候生产数据不一定是通过数据库进行导入,而是通过Excel表格的形式传入形式,这时候需要程序员进行自动化的导入. 手动导入数据库,效率相对来说太慢,因此需要使用技巧,实现批量 ...
- php批量导入多个excel,php的excel数据批量导入
工作中常常有批量导入数据的需求,方法太多,掌握一个简单实用的足够了.下面为大家介绍一个好用的方法. 数据导入必须按照指定的格式系统方能识别,因此可两个大的步骤:一.导入模板下载 二.数据导入 一.模 ...
最新文章
- dockerfile常用命令
- 23.C++类对象的指针为空时,调用成员函数不会挂掉
- sql case 语句
- 课时 27:Kubernetes 安全之访问控制(匡大虎)
- 微软加入字节码联盟,进一步开发支持Blazor 的WebAssembly技术
- Github+jsDelivr+PicGo 打造稳定快速、高效免费图床
- 美企调查华为设备安全性,华为发长文质疑;摩根大通预计苹果2020年将推5G iPhone;谷歌拟联手Dish成立美国第四大运营商...
- 查看java运行时参数_查看JVM运行时参数
- 去年买彩票中了400多万
- linux的日志监控和定期处理脚本
- 【转】VO BO PO 介绍
- Java编程中组合、继承和代理的区别
- Java学习需要多长时间?
- Think-Cell Chart 咨询级图表制作-秦川-专题视频课程
- Mac 安装IE浏览器
- 计算机温度控制系统论文,基于单片机的温度采集控制系统
- 2009年全国数模比赛,江苏三等奖名单
- SpringBoot 2.X Redis Jackson 序列化配置
- SQL:with ties
- 四/六层板层叠设计思路
热门文章
- 利用mysqldump 将一个表按条件导出数据
- 上一篇的改进!!!!!
- 如何清理qt源码_Qt+FFmpeg本地录制音频
- java jni librtmp_编译Android平台libRTMP库
- php5.6 mysql nginx_nginx1.10.3+php5.6+mysql5.7.0
- 嵌入式c语言移植,嵌入式C语言位操作的移植方法
- css文本行高是哪个属性_CSS字体属性和文本属性总结
- 怎么把css改成打印,css 打印print
- 查看mysql数据用户权限_查看MYSQL数据库中所有用户及拥有权限
- centos7上的图形化界面svn客户端_基于windows平台的SVN教程。