Java用jxl读取excel并保存到数据库的方法

下面是Java用jxl读取excel并保存到数据库的攻略:

1. 环境准备

1.1 安装jxl、mysql-connector-java,可以在maven仓库中获取对应的依赖。

1.2 准备好JDBC连接数据库的连接信息,例如:数据库的地址、端口、用户名、密码等。

1.3 准备Excel文件。

2. 读取Excel文件

2.1 使用jxl的Workbook类读取Excel文件,例如:

File file = new File("example.xls");
Workbook workbook = Workbook.getWorkbook(file);

2.2 利用获取到的workbook对象获取sheet对象、row对象、cell对象,获取Excel表中的数据,例如:

Sheet sheet = workbook.getSheet(0);
for(int i=1; i<sheet.getRows(); i++){
    Cell nameCell = sheet.getCell(0,i);
    Cell ageCell = sheet.getCell(1,i);
    String name = nameCell.getContents();
    int age = Integer.parseInt(ageCell.getContents());
}

2.3 读取完数据后,关闭workbook对象,例如:

workbook.close();

3. 存储到数据库

3.1 使用JDBC连接数据库,例如:

Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_name", "username", "password");

3.2 利用connection对象创建statement或者PreparedStatement,利用SQL语句存储数据到数据库中,例如:

String sql = "INSERT INTO user(name,age) VALUES(?,?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, name);
statement.setInt(2, age);
statement.executeUpdate();

3.3 存储完数据后,关闭statement对象和connection对象,例如:

statement.close();
connection.close();

示例一:读取Excel文件并保存到数据库

File file = new File("example.xls");
Workbook workbook = Workbook.getWorkbook(file);

Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_name", "username", "password");

Sheet sheet = workbook.getSheet(0);
for(int i=1; i<sheet.getRows(); i++){
    Cell nameCell = sheet.getCell(0,i);
    Cell ageCell = sheet.getCell(1,i);
    String name = nameCell.getContents();
    int age = Integer.parseInt(ageCell.getContents());

    String sql = "INSERT INTO user(name,age) VALUES(?,?)";
    PreparedStatement statement = connection.prepareStatement(sql);
    statement.setString(1, name);
    statement.setInt(2, age);
    statement.executeUpdate();
    statement.close();
}

workbook.close();
connection.close();

示例二:从Excel文件中读取数据并在控制台上输出

File file = new File("example.xls");
Workbook workbook = Workbook.getWorkbook(file);

Sheet sheet = workbook.getSheet(0);
for(int i=1; i<sheet.getRows(); i++){
    Cell nameCell = sheet.getCell(0,i);
    Cell ageCell = sheet.getCell(1,i);
    String name = nameCell.getContents();
    int age = Integer.parseInt(ageCell.getContents());
    System.out.println("name:"+name+",age:"+age);
}

workbook.close();

以上就是Java用jxl读取excel并保存到数据库的攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java用jxl读取excel并保存到数据库的方法 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • golang实现微信小程序商城后台系统(moshopserver)

    golang实现微信小程序商城后台系统(moshopserver)攻略 1. 介绍 golang实现微信小程序商城后台系统(moshopserver)是一个典型的企业级应用,其涉及了多种技术和框架的使用。其中,moshopserver使用golang语言开发,基于beego框架和MySQL数据库。本文将详细讲解moshopserver的实现流程与步骤。 2.…

    Java 2023年5月23日
    00
  • Java8中Stream流式操作指南之入门篇

    Java8中Stream流式操作指南之入门篇 1. 什么是Stream流 Stream流是Java8中新增的一个用于处理集合数据的东西。就像名字一样,Stream流把数据像水一样流动起来。数据可以从一个集合中流向另一个集合,最终得到我们想要的结果。 2. 构建Stream流 通常我们通过集合生成Stream流。如果我们想要从一个List集合中生成一个Stre…

    Java 2023年5月26日
    00
  • 简单了解JAVA构造方法

    简单了解JAVA构造方法 什么是构造方法 Java中每个类都有构造方法,构造方法是用来初始化对象的方法,即在使用new操作符创建对象时调用的一种特殊方法。构造方法与类名相同,无需返回类型,且不能被重载。 构造方法的特点 构造方法名要与类名相同,且区分大小写; 构造方法没有返回值类型; 构造方法没有具体的返回值,但需要使用return语句结束构造方法; 构造方…

    Java 2023年5月26日
    00
  • java对象类型转换和多态性(实例讲解)

    下面我将详细讲解Java对象类型转换和多态性的完整攻略。 对象类型转换 在Java中,对象类型转换分为向上转型和向下转型两种。 向上转型 向上转型指的是将一个子类对象转换为父类对象的过程。因为子类是继承自父类的,所以子类对象的类型也包含了父类对象的所有类型,所以可以将子类对象转换为父类对象。 向上转型的格式如下: 父类名 变量名 = 子类实例; 例如,有一个…

    Java 2023年5月26日
    00
  • Linux系统下Tomcat8启动速度很慢的解决方法

    下面是详细的“Linux系统下Tomcat8启动速度很慢的解决方法”攻略: 问题背景 在Linux系统下使用Tomcat8启动web应用时,可能会遇到启动速度较慢的问题,需要对其进行优化。 解决方案 1. 调整JVM参数 在Tomcat8的bin目录下找到catalina.sh文件(如果使用包管理器安装Tomcat,则该文件位于/usr/share/tomc…

    Java 2023年5月19日
    00
  • Java Zip文件读写操作详解

    Java Zip文件读写操作详解 前言 Zip文件是一种常见的压缩文件格式,它可以有效地压缩多个文件,减小文件占用的存储空间。在Java开发中,也会经常用到Zip文件,因此掌握Java Zip文件读写操作是非常有必要的。 Zip文件读取操作 读取Zip文件可以使用Java中的ZipInputStream来实现。ZipInputStream可以将Zip文件中的…

    Java 2023年5月20日
    00
  • JAVA随机打乱数组顺序的方法

    下面是“JAVA随机打乱数组顺序的方法”的完整攻略: 题目分析 首先,我们需要了解一下题目的意思,了解题目的要求是什么。题目要求我们实现一种方法,可以随机打乱给定数组的元素顺序。 方法解析 接下来,我们来分析一下如何实现这种方法。一种简单的方式是通过 Fisher–Yates 洗牌算法(也称为 Knuth 洗牌算法)来实现。该算法通常被认为是一种非常高效的打…

    Java 2023年5月26日
    00
  • 博德之门2:加强版怎么修改存档 具体方法步骤详解

    下面是博德之门2:加强版怎么修改存档的具体方法步骤详解。 步骤一:备份存档 在进行存档修改操作之前,请先备份您的存档。这可以帮助您在修改出现问题时恢复到之前的存档状态。 步骤二:下载存档编辑器 下载名为“GIBBED.DIVINITY2.SAVEEDITO”的存档编辑器,该编辑器可以供玩家修改存档。您可以通过搜索引擎搜索并下载该编辑器。 步骤三:打开存档编辑…

    Java 2023年6月16日
    00
合作推广
合作推广
分享本页
返回顶部