用java将excel表单导入数据库表单----新手入门
构建项目思路
1、利用Excel第三方工具,将Excel文件读取到内存中。使用最简单,方便的工具是apache的poi工具包,自己网上下载 http://poi.apache.org/ ,使用方法网上一搜一大片。
2、如果是对于特别大的excel(大于20M的话),简单的读取方法就容易内存溢出了,需要采用流式读取的方式,参考http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api
3、将已读入内存的Excel数据,整理成写数据库的数据结构,然后插入数据库。这部分工作应该不用介绍了,就是基本的数据库操作方法,与excel无关了 参考:http://skyuck.iteye.com/blog/453540
我的项目的构建思路:
Excel解析------》导入集合--------》导入数据库
运用技术:
①:poi解析excel技术
②:list集合知识
③:jdbc(SQL语句)技术
运用软件:
①:Spring Tool Suite
②:Wamp
③:Nevicat Premium
加入的jar包
引用:
*mysql的jar文件
Spring_HOME/lib/poi/.jar
commons-io commons-io 2.5 org.apache.poi poi 3.10-FINAL org.apache.poi poi-ooxml 3.10-FINAL
项目初期准备
项目开始之前:
--------》
项目成功之后:
项目最终代码
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
public class Dexcel {
public static void main(String args[]) throws Exception {
File file=new File(“C:\Users\chenxao\Desktop\ddd.xls”);
try {
Class.forName(“com.mysql.jdbc.Driver”);
Connection conn = DriverManager.getConnection(
“jdbc:mysql://127.0.0.1:3306/444?useSSL=true&characterEncoding=UTF-8”
, “root” , “”);
PreparedStatement pstmt = conn.prepareStatement(
“insert into yonghu values(?,?,?,?,?,?)”);
HSSFWorkbook workbook=
new HSSFWorkbook(FileUtils.openInputStream(file));
HSSFSheet sheet = workbook.getSheet(“Sheet1”);
int firstRowNum=1;
int lastRowNum=sheet.getLastRowNum();
List fff=new ArrayList();
for(int i=firstRowNum;i<=lastRowNum;i++) {
HSSFRow row = sheet.getRow(i);
int lastCellNum=row.getLastCellNum();
for(int j=0;j<lastCellNum;j++) {
Cell numCell = row.getCell(j);
if(numCell != null){
numCell.setCellType(Cell.CELL_TYPE_STRING);
}
String value = numCell.getStringCellValue();
fff.add(value);
System.out.print(value+" ");
}
System.out.println();
}
System.out.println(fff);
System.out.println(fff.get(3));
for (int k=0; k <lastRowNum ; k++ )
{
pstmt.setString(1 , (String) fff.get(k6));
pstmt.setString(2 , (String) fff.get(k6+1));
pstmt.setString(3 ,(String) fff.get(k6+2));
pstmt.setString(4 , (String) fff.get(k6+3));
pstmt.setString(5 , (String) fff.get(k6+4));
pstmt.setString(6 ,(String) fff.get(k6+5));
pstmt.executeUpdate();
}
}
catch(IOException e){
e.printStackTrace();
}
}
}
思路理顺:
①:jdbc链接数据库
②:poi解析excel文件
③:将解析到的数据导入到集合中
④:将集合中的数据导入数据库
用java将excel表单导入数据库表单----新手入门相关推荐
- java excel批量导入数据库数据_Java实现Excel数据批量导入数据库
Java实现Excel数据批量导入数据库 概述: 这个小工具类是工作中的一个小插曲哦,因为提数的时候需要跨数据库导数... 有的是需要从oracle导入mysql ,有的是从mysql导入oracle ...
- TP6框架--EasyAdmin学习笔记:Excel表单导入数据库
这是我写的学习EasyAdmin的第四章,这一章我给大家分享下Excel表单导入数据库的全流程需要怎么处理并提供案例 首先给大家看下这个功能的原理,下面是PHP连接打印机的代码 public func ...
- JAVA读取Excel表格,建数据库建表,并生成java实体实例
转自:https://blog.csdn.net/wuyongde_0922/article/details/43233413 JAVA读取Excel表格,建数据库建表,并生成java实体实例,这一篇 ...
- 达梦数据库如何把EXCEL的数据导入到表中?
现有一张数据量很大的EXCEL表需要导入数据表中,一条条执行浪费人工时间.因此选择用DM迁移工具进行数据迁移. 1.1先查看EXCEL的结构,可以看到三个列名分别为CITY_ID.CITY_NAME. ...
- mysql 命令导入excel,【mysql命令导入excel表】excel表格怎样导入数据库
怎么把excel里的数据导入数据库中的表中 打开企业管理器开要导入数数据库,在表上按右键,所务-->导入数据,弹出DTS导入/导出向导,按 下一步 , 2.选择数据源 Microsoft Exc ...
- 使用java通过固定的excel模板自动生成数据库表的ddl建表语句
有时候要建很多表或一个表有很多字段,一个个复制字段弄太麻烦了,为了提高点工作效率,写了个小工具通过固定的excel模板自动生成基础的ddl建表语句 maven依赖 <!--核心jar包--> ...
- 把Excel表格通过MySql Workbench导入数据库表中的使用总结
把Excel表格通过MySql Workbench导入数据库表中的使用总结 今天接到一个任务,把excel表中的数据导入到mysql数据库中,通过半个多小时的鼓捣,基本上摸清了里面的门道. 首先,准备 ...
- oracle如何导出和导入数据库/表
oracle如何导出和导入数据库/表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作, ...
- mysql导入创建表空间_oracle创建表空间 导入数据库
oracle 2 然后是创建表空间 创建表空间需要创建两个一个临时表空间 一个表空间 --创建表空间 create tablespace abc datafile 'D:\tablespce\LAN ...
最新文章
- python使用xlrd读取xlsx文件_005:【Python读取本地Excel文件】使用xlrd模块来读取本地Excel文件...
- Confluence 6 CSS 编辑快速入门
- UA MATH567 高维统计专题1 稀疏信号及其恢复4 Basis Pursuit的算法 Projected Gradient Descent
- HIT训练营----1 题解
- python日记----2017.8.1
- mysql not exists很慢_查询速度优化用not EXISTS 代替 not in
- 关于编程学习及面试,推荐些适合的网站,希望对现在的你有帮助!
- 常用SQL语句(增删查改、合并统计、模糊搜索)
- java基础面试题之:String 类的常用方法都有那些?
- JavaScript学习(二十五)—实现无缝滚动
- sphinx下的max_matches取值对SetLimits的影响
- ubuntu 虚拟机复制粘贴文件(文本) windows
- Android,java敏感词,QQ,微信自动过滤组件
- 张学孟 (帮别人名字作诗)
- 用计算机算标准曲线,标准曲线计算软件
- 基于SSM的志愿者管理系统
- 腾讯的“小弟”长大了
- java千万级别数据处理(2)-千万级别FTP下载
- 运维网络基础知识思维导图
- Python3安装PyQt5
热门文章
- 在家远程工作的体验和总结(为什么我决定更多的在家办公)
- Hive2.0 在 Hadoop2.7部署 (2017.03添加异常处理)(图文解说)
- Cocos2d-x的学习之旅(三)自己的 HelloWorld
- 网络安全NISP证书一级、二级、三级介绍
- SSH登陆出现Permission denied (publickey)错误解决方案
- Oracle【ORA-00257错误】解决办法及归档模式切换总结整理
- 华为云 UCS GitOps:轻松交付多集群云原生应用
- java excel 读取表头_java 读取 excel 表格内容
- 视觉SLAM技术简述,一文了解视觉SLAM
- Depth-Aware Stereo Video Retargeting