Java代码实现Excel另存为数据库存储 (java 另存excel数据库)

随着数据量的增加,关系型数据库已经成为了很多企业或个人存储数据的首选,因为数据基于关系型数据库存储的方式方便了数据检索、过滤等操作。然而,很多数据源并不是基于数据库存储,比如Excel表格,作为一种最基础的数据处理工具,Excel表格承载了很多数据,但Excel表格如何存储到数据库中,是许多开发者都遇到的问题。下面介绍的是通过的方法。

一、准备工作

1. Excel表格数据的预处理

我们需要先将Excel表格数据进行预处理,也就是将Excel表格数据转化为适合数据库存储的形式。对于Excel表格,我们可以使用Apache POI来读取Excel表格。由于这里只是介绍如何将Excel表格存储到数据库中,因此,本文将不涉及Apache POI的使用。

2. 数据库环境的配置

在开始存储Excel表格数据之前,我们需要先进行数据库的环境配置。这里以MySQL数据库为例,在MySQL软件中新建一个数据库,并创建一个名为“excel”的表格,用于存储Excel表格中的数据。表格的设计如下:

CREATE TABLE `excel` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(255) DEFAULT NULL COMMENT ‘name’,

`age` int(11) DEFAULT NULL COMMENT ‘age’,

`address` varchar(255) DEFAULT NULL COMMENT ‘address’,

`salary` double DEFAULT NULL COMMENT ‘salary’,

`birthday` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ‘birthday’,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

二、代码实现

在Java代码中,我们可以通过JDBC连接数据库,将Excel表格中的数据存入到MySQL数据库中。下面,我们来看一下Java代码的实现过程:

1. 创建JDBC连接对象

通过以下代码来创建一个JDBC连接对象:

Connection conn = null;

try {

// 加载驱动程序

Class.forName(“com.mysql.jdbc.Driver”);

// 连接数据库

conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”, “root”, “123456”);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

通过以上代码,我们成功创建一个JDBC连接对象。

2. 执行的SQL语句

在实现代码过程中,我们需要将Excel表格中的数据读取出来,然后将数据存入MySQL数据库中。这里,我们需要构造一个SQL语句,用于将数据存入MySQL表格中。如下所示:

INSERT INTO excel (name, age, address, salary, birthday) VALUES (?, ?, ?, ?, ?)

其中,?是占位符,用于接收Excel表格中的数据。

3. 处理Excel表格数据

通过以上两步,我们成功建立了JDBC连接对象,并准备好了SQL语句。接下来,我们需要将Excel表格中的数据读取出来,并将数据插入到MySQL数据库中。这个过程中需要使用到Apache POI的相关API,我们来看一下代码实现:

InputStream in = new FileInputStream(new File(“data.xlsx”));//读取Excel表格

Workbook wb = WorkbookFactory.create(in);//Excel工作簿

Sheet sheet = wb.getSheetAt(0);//获取表格

Row row = null;//行

for (int i = 1; i

row = sheet.getRow(i);

String name = row.getCell(0).getStringCellValue();//获取之一个单元格的值

int age = (int) row.getCell(1).getNumericCellValue();//获取第二个单元格的值

String address = row.getCell(2).getStringCellValue();//获取第三个单元格的值

double salary = row.getCell(3).getNumericCellValue();//获取第四个单元格的值

Date birthday = row.getCell(4).getDateCellValue();//获取第五个单元格的值

//插入数据到mysql表格中

String sql = “INSERT INTO excel (name, age, address, salary, birthday) VALUES (?, ?, ?, ?, ?)”;

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1, name);

pstmt.setInt(2, age);

pstmt.setString(3, address);

pstmt.setDouble(4, salary);

pstmt.setDate(5, new java.sql.Date(birthday.getTime()));

pstmt.executeUpdate();

}

以上代码实现的功能是将Excel表格中的数据读取出来,然后将数据存入到MySQL数据库中,达到了Excel另存为数据库存储的目的。

三、

本文介绍了如何通过的方法,并且详细介绍了Java代码实现过程。相信读者们在学习了此篇文章之后,就可以将Excel表格中的数据存入到MySQL数据库中,为数据处理提供更多的选择。

相关问题拓展阅读:

怎么用java将一个excel里面数据读出并写入另一个excel?

需要对Excel中的数据进行读取操作。

java 怎么把 excel文件导入到数据库

import java.io.*;

import java.text.SimpleDateFormat;

import java.util.*;

import java.sql.*;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

import jxl.*;

public class SimUpdate {

private String fileName;

public ZfzSimUpdate(String fileName){

this.fileName = fileName;

}

static Map tNames;

static{

tNames = new HashMap();

}

/**

* 用于产生 数据库的 ID 值,组成 总共 17 位数.

* 根据不同的表名,可保证同一秒内产生的 ID 号不重复

*/

private static String getDtime() {

String rid;

Date nd = new Date();

SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMddHHmmss”);

rid = sdf.format(nd);

return rid;

}

public String getSeqNumber(String tableName) {

if(tableName == null || “”.equals(tableName))

tableName = “弯亮GENERY”;

Integer it;

// noinspection SynchronizeOnNonFinalField

synchronized(tNames){

it = (Integer)tNames.get(tableName);

if(it == null){

it = new Integer(100);

tNames.put(tableName, it);

}else{

if(it.intValue() > 998)

it = new Integer(100);

else

it = new Integer(1 + it.intValue());

tNames.put(tableName, it);

}

}

return getDtime() + String.valueOf(it);

}

private void updateDb(){

try{

Connection conn = DbPool.connectDB();

if(conn != null){

Statement stmt = conn.createStatement();

/**********************************************/

jxl.Workbook rwb = null;

try{

//构建Workbook对象 只读Workbook对象

//直接从本地文件创建Workbook

//从输入流创建Workbook

InputStream is = new FileInputStream(fileName);

rwb = Workbook.getWorkbook(is);

//Sheet(术语首誉:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中

//Sheet的下标是从0开始的

//获取之一张Sheet表

Sheet rs = rwb.getSheet(0);

//获取Sheet表中所包含的总列数

int rsColumns = rs.getColumns();

//获取Sheet表中所包含的总行数

int rsRows = rs.getRows();

//获取指这下单元格的对象引用

String simNumber = “”,termSeqId = “”;

//指定SIM卡号及序列号

for(int i=0;i 0){

System.out.println(“成功插入第”+i+”条数据”);

}

}

//System.out.println(“SIM卡号:”+simNumber+”,序列号:”+termSeqId);

}

//以下代码为写入新的EXCEL,这里不使用,所以注释

/*

//利用已经创建的Excel工作薄创建新的可写入的Excel工作薄

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(“

//读取之一张工作表

jxl.write.WritableSheet ws = wwb.getSheet(0);

//获取之一个单元格对象

jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

//决断单元格的类型,做出相应的转化

if (wc.getType() == CellType.LABEL) {

Label l = (Label) wc;

l.setString(“The value has been modified.”);

}

//写入Excel对象

wwb.write();

wwb.close();

*/

}catch(Exception e){

e.printStackTrace();

}

finally{

//操作完成时,关闭对象,翻译占用的内存空间

rwb.close();

}

/*********************************************/

}

}catch(Exception e){

e.printStackTrace();

}

}

public static void main(String args){

DbPool dbPool = new DbPool(“dbConn.cfg”);//连接数据库

SimUpdate simUpdate = new SimUpdate(“zfz_sim.xls”);

simUpdate.updateDb();

}

}

java 另存excel数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 另存excel数据库,Java代码实现Excel另存为数据库存储,怎么用java将一个excel里面数据读出并写入另一个excel?,java 怎么把 excel文件导入到数据库的信息别忘了在本站进行查找喔。


数据运维技术 » Java代码实现Excel另存为数据库存储 (java 另存excel数据库)