Java实现读取Excel文件并导入数据库的方法 (java 读取excel文件 导入数据库)
Excel是一种广泛使用的电子表格应用程序,它提供了非常灵活和丰富的数据管理功能。而Java作为一种强大的编程语言,可以很好地处理数据并实现各种功能。本文将介绍如何使用Java处理Excel文件并将其中的数据导入到数据库中。
一、读取Excel文件的方法
Java中读取Excel文件有多种方法,本文选择使用Apache POI项目来实现。POI是一组用于处理Microsoft Office文档的Java库,可以读取、写入和操作Excel、Word和PowerPoint等文件。使用POI读取Excel文件需要引入以下依赖:
“`
org.apache.poi
poi
4.1.2
org.apache.poi
poi-ooxml
4.1.2
“`
读取Excel文件的过程可以分为三个步骤:
1. 创建一个输入流,读取Excel文件。如下所示:
“`
File file = new File(“test.xlsx”);
FileInputStream inputStream = new FileInputStream(file);
“`
2. 解析Excel文件,获取工作簿和工作表。如下所示:
“`
Workbook workbook = new XSSFWorkbook(inputStream); // 创建工作簿对象
Sheet sheet = workbook.getSheetAt(0); // 获取之一个工作表
“`
3. 遍历工作表,读取每个单元格的数据。如下所示:
“`
for (Row row : sheet) {
for (Cell cell : row) {
String value = cell.toString(); // 获取单元格的值
}
}
“`
二、将Excel中的数据导入数据库
将Excel中的数据导入数据库需要使用Java中的JDBC技术。JDBC是Java数据库连接的标准接口,可用于连接和操作各种数据库。下面是一个简单的代码示例,该示例读取Excel文件中的数据并将其插入到MySQL数据库中。
1. 创建数据库连接。如下所示:
“`
String url = “jdbc:mysql://localhost:3306/test”;
String user = “root”;
String password = “123456”;
Connection connection = DriverManager.getConnection(url, user, password);
“`
2. 遍历Excel文件中的数据,生成SQL语句。如下所示:
“`
StringBuilder = new StringBuilder();
.append(“INSERT INTO student (id, name, age) VALUES “);
for (Row row : sheet) {
.append(“(“);
for (Cell cell : row) {
String value = cell.toString();
.append(“‘”);
.append(value);
.append(“‘, “);
}
.setLength(.length() – 2);
.append(“), “);
}
.setLength(.length() – 2);
String sql = .toString();
“`
3. 执行SQL语句,将数据插入到数据库中。如下所示:
“`
Statement statement = connection.createStatement();
statement.executeUpdate(sql);
“`
完整示例代码如下所示:
“`
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelToDatabaseDemo {
public static void mn(String[] args) throws Exception {
File file = new File(“students.xlsx”);
FileInputStream inputStream = new FileInputStream(file);
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
String url = “jdbc:mysql://localhost:3306/test”;
String user = “root”;
String password = “123456”;
Connection connection = DriverManager.getConnection(url, user, password);
StringBuilder = new StringBuilder();
.append(“INSERT INTO student (id, name, age) VALUES “);
for (Row row : sheet) {
.append(“(“);
for (Cell cell : row) {
String value = cell.toString();
.append(“‘”);
.append(value);
.append(“‘, “);
}
.setLength(.length() – 2);
.append(“), “);
}
.setLength(.length() – 2);
String sql = .toString();
Statement statement = connection.createStatement();
statement.executeUpdate(sql);
statement.close();
connection.close();
workbook.close();
inputStream.close();
}
}
“`
三、
本文介绍了如何使用Java读取Excel文件并将数据导入到数据库中。读取Excel文件可以使用Apache POI项目,并且需要引入相关依赖。将数据插入到数据库中需要使用JDBC技术,其中包括创建数据库连接、生成SQL语句和执行SQL语句等步骤。相信学习完本文后,读者可以掌握这一常用的数据处理技术,并能在自己的项目中灵活运用。
相关问题拓展阅读:
java如何把excel内容导入到mysql数据库,数据库的列名就是excel的列名
方法很多,不过建议你先看看mysql的开发文档,里面写的很详细的,如果你懒得看,可以看下面的
1.有个软件PHP Excel Parser Pro v4.2可以,你可以在这里下载:
2.可将Excel存成csv格基枯式。然后通过phpmyadmin倒入mysql
3.先导入Access中,再弄到MySQL中,或者自己写程序读出excel中数据然后存入mysql中
4.还有一个比较笨的手工方法,就是先利用excel生成sql语句,然后再到mysql中运行,这种方法适用于excel表格导入到各类sql数据库:
一、假设你的表格有A、B、C三列数据,希望导入到你的数据库中表格table,对应的字段分别是col1、col2、col3
二、在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下:
1、增加一列(假设是D列)
2、在之一行的D列,就是D1中输入公式:
=CONCATENATE(“insert into table (col1,col2,col3) values (‘”,A1,”‘,'”,B1,”‘,'”,C1,”‘);”)
3、此时D1已经生成了如下的sql语句:
insert into table (col1,col2,col3) values (‘a’,’11’,’33’);
4、将D1的公档锋中式复制到所有行的D列(就是用鼠行山标点住D1单元格的右下角一直拖拽下去啦)
5、此时D列已经生成了所有的sql语句
6、把D列复制到一个纯文本文件中,假设为sql.txt
三、把sql.txt放到数据库中运行即可,你可以用命令行导入,也可以用phpadmin运行。
1、添加POI jar包到项目的lib目录下-
2、Excel文件目录:
3、数据库字租春段为:num1 num2 num3 num4 num5 num6-
4、数据库名:blog-
5、表名:test-
6、编写类:连接mysql的字符旦型明串方法、插入的方法、实体类–
import java.io.FileInputStream;-
import java.io.FileNotFoundException;-
import java.io.IOException;-
import org.apache.commons.logging.Log;-
import org.apache.commons.logging.LogFactory;-
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;-
public class TestExcel {-
//记录类的输出信息-
static Log log = LogFactory.getLog(TestExcel.class); –
//获取Excel文档的路径-
public static String filePath = “
public static void main(String args) {-
try {-
// 创建对Excel工作簿文件的引用-
HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath));-
// 在Excel文档中,之一张工作表的缺省索引是0,-
// 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);-
HSSFSheet sheet = wookbook.getSheet(“Sheet1”);-
//获取到Excel文件中的所有行数-
int rows = sheet.getPhysicalNumberOfRows();-
//遍历行-
for (int i = 0; i = null;
//创建连接数据库,并插入数据的操作类以及相应方法 DataOper.java
//连接数据库
//插入数据方法
public static boolean insert(Person person); //参数为数据库映射对象
//创建解析excel操作类 ExcelCon.java
ExcelConec = new ExcelCon();
//解析excel返回值 具体取值代码自携粗己实现吧
persons = ec.getList();
//灶乎实现批量插入。在不使用批处理的情况下
for( int i = 0 ; i
Person person = (Person)persons.get(i);
DataOper.insert(person);
}
//大体如此 楼上正好把取excel数据的方法写了!!
微软提供了将EXCEL作为数据源的驱动
控制面板–管理工具–数据源 在系统DSN标签下点选添冲蚂加 选择Driver Do MicroSoft Excel
点击完成 数据源名任意 选择EXCEL版本然后点选陵判正选择工作尺悔簿 选中你要导入的EXCEL文件
要通过java程序获取内容的话
Connection c = null;
Statement stmnt = null;
try {
Class.forName( “sun.jdbc.odbc.JdbcOdbcDriver” );
c = DriverManager.getConnection( “jdbc:odbc:数据源名”, “”, “” );
stmnt = c.createStatement();
String query = “SELECT * FROM “;
ResultSet rs = stmnt.executeQuery( query );
要注意的是SQL语句中表名的写法 后面要加$
我用的是一个耐悉叫CVS的导入小工具
不仅mysql 能用 ORACLE 、SQLServer 都能慎瞎用
你可以去百度
java 读取excel文件 导入数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 读取excel文件 导入数据库,Java实现读取Excel文件并导入数据库的方法,java如何把excel内容导入到mysql数据库,数据库的列名就是excel的列名的信息别忘了在本站进行查找喔。