随着数据量的增加,关系型数据库已经成为了很多企业或个人存储数据的首选,因为数据基于关系型数据库存储的方式方便了数据检索、过滤等操作。然而,很多数据源并不是基于数据库存储,比如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数据库中,为数据处理提供更多的选择。
相关问题拓展阅读:
需要对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文件导入到数据库的信息别忘了在本站进行查找喔。
成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联成都老牌IDC服务商,专注四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,可选线路电信、移动、联通等。
网站栏目:Java代码实现Excel另存为数据库存储(java另存excel数据库)
网址分享:http://www.shufengxianlan.com/qtweb/news44/284494.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联