今天有一个客户把一个excel表格给我,要我把数据导入到数据库中去。
我这里 主要实现的思想是
1、把excel表格中的数据提取出来
2、建立一个对象,该对象的属性对应excel中的列属性
2、把每一行的数据封装到建立的对象中
3、把所有对象放入到一个list中
4、把list存入数据库 oh oh!
PS:个人偷懒,把所有的方法写到一个类中了(除实体类)
下面开始贴代码:
主要的操作类:Util.java
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.util.ArrayList; import java.util.List; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; public class Util { public Connection getConn() { String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=gdaudit"; // 连接服务器和数据库sample String userName = "sa"; // 默认用户名 String userPwd = "123"; // 密码 Connection dbConn = null; try { Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); System.out.println("Connection Successful!"); // 如果连接成功 } catch (Exception e) { e.printStackTrace(); } return dbConn; } public List<CiaBO> getBO() { // TODO Auto-generated method stub List<String> list = new ArrayList<String>(); String filePath = "d:/test.xls"; InputStream fs = null; Workbook workBook = null; try { // 加载excel文件 fs = new FileInputStream(filePath); // 得到 workbook workBook = Workbook.getWorkbook(fs); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Sheet sheet = workBook.getSheet(0);// 这里只取得第一个sheet的值,默认从0开始 Cell cell0 = null;// 就是单个单元格 Cell cell1 = null;// 就是单个单元格 List<CiaBO> ciaList = new ArrayList<CiaBO>(); //该表格 一共602行 每行取前两列 for (int i = 0; i < 77; i++) { CiaBO bo = new CiaBO(); //取第一列 cell0 = sheet.getCell(0, i); //取第二列 cell1 = sheet.getCell(1, i); bo.setId(i+603); bo.setName(cell0.getContents()); bo.setNumber(cell1.getContents()); ciaList.add(bo); } workBook.close();// 记得关闭 return ciaList; } public void save(List<CiaBO> list){ try { String sql = "insert into tb*****(id,name,***,***) values(?,?,?,?)"; PreparedStatement prest = new Util().getConn().prepareStatement(sql); for(int x = 0; x < list.size(); x++){ prest.setInt(1, list.get(x).getId()); prest.setString(2, list.get(x).getName()); prest.setString(3,list.get(x).getNumber()); prest.setString(4, null); prest.addBatch(); } prest.executeBatch(); } catch (Exception ex) { ex.printStackTrace(); }finally{ } } public static void main(String args[]){ Util db = new Util(); List<CiaBO> list = db.getBO(); for (CiaBO ciaBO : list) { System.out.println(ciaBO.toString()); } db.save(list); } }
实体类:CiaOB.java
public class CiaBO { private int id; private String name; private String number; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } @Override public String toString() { return "CiaBO [id=" + id + ", name=" + name + ", number=" + number + "]"; } }
相关推荐
在Java编程中,将Excel数据导入数据库是一项常见的任务,尤其在数据处理和分析场景中。以下是如何使用Java从Excel文件读取数据并将其存入数据库的详细步骤。 首先,我们需要一个能够读取Excel文件的库,例如...
Java实现从excel中批量高效导入数据到数据库中,包括图片的导入存储,读取图片显示在jsp页面等,需要下载JspSmartUpload.jar和jxl.jar两个jar包,将两个包导入项目才能运行
总结来说,基于JXL的Excel数据导入工具利用了Java的强大功能,结合JXL库,简化了Excel数据处理的复杂性,提高了效率。通过设计合理的工具和接口,我们可以轻松地实现Excel数据的导入、验证、处理和存储,为日常的...
通过结合数据库操作,我们可以方便地将数据库中的数据导出为Excel格式,用于报表生成、数据分析或其他目的。使用JXL,可以实现跨平台的Excel处理,而无需依赖特定的Office软件,提高了开发的灵活性和效率。
本文将详细介绍如何使用Java编程语言将Excel表格中的数据导入到Oracle数据库中。这一过程涉及到的关键技术包括:使用JDBC连接Oracle数据库、通过ODBC读取Excel文件以及利用PreparedStatement执行SQL语句。 #### ...
本篇文章将深入探讨如何利用JXL库在Java环境下操作Excel文件,并将其数据与Oracle数据库进行交互。 首先,JXL库提供了丰富的API,能够方便地对Excel文件进行各种操作。例如,可以创建新的工作簿,添加工作表,设置...
本主题聚焦于如何利用Java编程语言操作Excel,并将其中的数据导入到数据库中。这里我们将深入探讨Java操作Excel的相关库、具体步骤以及数据库连接的相关知识点。 首先,Java操作Excel通常会借助第三方库,例如...
在IT行业中,将Excel数据导入数据库是一项常见的任务,特别是在数据分析、报表生成以及系统集成等场景。这个压缩包文件“将excel的内容导入到数据库.zip”包含了多个文档和资源,旨在指导如何使用Java处理Excel数据...
本文将详细介绍如何使用jxl库来读取Excel文件,并将其内容存储到MySQL数据库中。 首先,我们需要了解jxl库。jxl是Java的一个开源库,专门用于读写Excel文件。它支持多种版本的Excel格式,包括97-2003(.xls)和2007...
5. **数据导出**:查询数据库中的数据,再使用Java Excel API将其写入到Excel文件中。 #### 六、总结 通过Java Excel API,我们可以方便地实现Excel文件的读取与写入,结合数据库技术可以实现更高级别的数据管理...
本文主要讲述如何使用 Java 语言将 Excel 数据导入到 MySQL 数据库中。下面将详细介绍相关知识点: 1. Java 读取 Excel 数据 Java 读取 Excel 数据是通过使用 JXL(Java Excel API)库来实现的。JXL 库提供了读取...
在Java开发环境中,有时我们需要将数据库中的数据导出到Excel文件,以便于数据分析、报表生成或数据共享。这时,一个常用的工具就是JXL库。JXL全称为Java Excel API,它是一个强大的开源Java库,允许开发者在Java...
接下来,我们将介绍如何使用`jxl`库读取Excel数据并将其导入数据库。以下是一个简单的示例程序: ```java import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import java.io.File; ...
使用JDBC API建立连接,执行SQL语句,将读取到的数据插入到数据库中。例如: ```java import java.sql.*; public class DBUtil { public static Connection getConnection() { // 填写你的数据库连接信息 ...
这个过程在处理大量数据时非常有用,比如将数据库中的数据导出到Excel,或者从Excel文件中导入数据到数据库。 在描述中提到的“博文链接:https://xgtxxxx.iteye.com/blog/1616979”,虽然具体链接无法访问,但可以...
在这个场景中,我们需要用jxl来解析Excel文件,获取每一行的数据,然后准备插入到数据库中。 3. **Oracle数据库**:Oracle是企业级的关系型数据库管理系统,支持大规模数据存储和复杂查询。在Java应用中,我们通常...
首先,从数据库中提取数据,然后使用jxl库将数据写入Excel工作表。这通常涉及到数据库查询、结果集遍历以及使用jxl的API创建和写入工作表。 以下是一个简单的示例,展示了如何使用jxl将数据写入Excel: ```java ...