将Excel表导入MySQL

xiaoxiao2021-02-28  90

(1)首先Eclipse要与MySQL使用JDBC进行连接 package com.softeem.utils; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class DBConnection { /*声明链接数据库的基本参数*/ private static String DRIVER; private static String URL; private static String USER; private static String PASSWORD; //在静态块中加载驱动,防止反复加载 static{ try { //获取属性对象 Properties props = System.getProperties(); //加载指定属性文件,根据属性名获取属性值 props.load(new FileInputStream("src/jdbc.properties")); DRIVER = props.getProperty("driver"); URL = props.getProperty("url"); USER = props.getProperty("user"); PASSWORD = props.getProperty("password"); Class.forName(DRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //封装获取链接的方法 public static Connection getConn() { try { return DriverManager.getConnection(URL, USER, PASSWORD); } catch (SQLException e) { e.printStackTrace(); } return null; } } (2)创建MySQL数据库及其表 (3)首先在Eclispe创建一个WorkBook对象,读取Excel文件  public class ExcelToDB { public List ReadgoodExcel(File file){ List list = new ArrayList<>(); goods gs = null; Workbook wb = null; try { //创建一个工作簿 wb = Workbook.getWorkbook(file); //获取所有表单对象 Sheet[] sheets = wb.getSheets(); //获取指定索引的表单 Sheet sheet = wb.getSheet("Sheet1"); //获取总行数 int rows = sheet.getRows(); for (int i = 1; i < rows; i++) { gs = new goods(); String s1 = sheet.getCell(0, i).getContents(); //编号 String s2 = sheet.getCell(1, i).getContents(); //商品名 String s3 = sheet.getCell(2, i).getContents(); //单价 String s4 = sheet.getCell(3, i).getContents(); //折扣率 String s5 = sheet.getCell(4, i).getContents(); //时间 String s6 = sheet.getCell(5, i).getContents(); //库存 String s7 = sheet.getCell(6, i).getContents(); //类别编号 gs.setGoodsname(s2); gs.setId(TypeTools.getInt(s1)); gs.setPrice(TypeTools.getBigDecimal(s3)); gs.setOffset(TypeTools.getDouble(s4)); // long y = TypeTools.getDate(s5).getTime(); // Date d = new Date(y); // gs.setTime(TypeTools.getDate(s5)); gs.setCounts(TypeTools.getInt(s6)); gs.setCid(TypeTools.getInt(s7)); list.add(gs); } } catch (BiffException | IOException e) { e.printStackTrace(); } finally{ if(wb != null) wb.close(); } return list; } 然后将WorkBook对象逐一存储到MySQL表中 public void insertgoods(List list){ Connection conn = DBConnection.getConn(); PreparedStatement ps = null; try { ps = conn.prepareStatement("insert into goods(id,goodsname,price,offset,time,counts,cid) values(?,?,?,?,?,?,?)"); for ( goods g :list ) { ps.setInt(1,g.getId()); ps.setString(2, g.getGoodsname()); ps.setBigDecimal(3, g.getPrice()); ps.setDouble(4, g.getOffset()); ps.setObject(5,g.getTime()); ps.setInt(6, g.getCounts()); ps.setInt(7, g.getCid()); ps.executeUpdate(); } } catch (SQLException e) { e.printStackTrace(); }finally{ try { if(ps != null) ps.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } 最后运行即可
转载请注明原文地址: https://www.6miu.com/read-58922.html

最新回复(0)