`

从Excel到导入MYSQL数据库

阅读更多

为了把Excel导入数据库写了这个这段程序,大概思路解释一下
:因为导入数据库时字段类型和长度、还有字段数都是未知的,所以导入时用了通用的字段类型,在这里用了text,根据需要可以自行定制字段名,类 型。这只是个简单的例子 如果常常遇到此类问题的我建议写个导入你所想见的表格属性的配置文件(xml或property文件都可以),这样灵活性更强了。
还有一种更为好的办法,把要导入的Excel文件另存为xml文件,
这样就会变成xml to database ,想导入就容易咯
有什么不明白可以参考:全面挖掘Java Excel API 使用方法
从Excel表格导入msyql的例子代码
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import jxl.*;
public class test{
static String createTableSql="";//创建数据库的sql
static String colType="TEXT";//字段类型
static String key="id";//主键
static String charSet="utf8";//表格字符类型
static String ENGINE="InnoDB";//表格类型
static String tableName="tempExcelToMysql";//表名称
static String colName="col";默认字段名
static Connection conn = null;

public static void main(String args[]){
try
{
// 构建Workbook对象, 只读Workbook对象
// 直接从本地文件创建Workbook
// 从输入流创建Workbook

System.out.println("start load file-------------------------");
InputStream is = new FileInputStream("E:/users.xls");//创建输入

jxl.Workbook rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0); //读取第一个sheet
int colNum=rs.getColumns();//列数
int rowNum=rs.getRows();//行数

System.out.println("colNum rowNum------------------"+rowNum+","+colNum);
System.out.println("start create base-------------------------");

getConntion();

String tableSql=getCreateTableSql(rowNum,colNum);
Statement st=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
st.execute(tableSql);
st.close();

System.out.println("create base end -------------------------");


String sql=getColName(rowNum,colNum);
PreparedStatement ps=null;
String strValue="";
ps=conn.prepareStatement(sql);
for(int i=0;i<rowNum;i++){
strValue="";
for(int j=0;j<colNum;j++){
Cell c = rs.getCell(j, i);
strValue=c.getContents();
ps.setString(j+1,strValue);
}
ps.addBatch();
}

ps.executeBatch();
conn.commit();

if(ps!=null){
ps.close();
}

System.out.println(" insert end-------------------------");
close();
}
catch (Exception e)
{
e.printStackTrace();
}
}

static String getCreateTableSql(int rowNum,int colNum)
{
//可以做成可配置文件

createTableSql="create table "+tableName+"( `"+key+"` bigint(12) NOT NULL auto_increment, ";
String temp="";
for(int j=0;j<colNum;j++){
temp=temp+"`"+colName+j+"` "+colType+" DEFAULT NULL,";
}

createTableSql=createTableSql+" "+temp+" PRIMARY KEY (`"+key+"`)" +
") ENGINE="+ENGINE+" DEFAULT CHARSET="+charSet+";";

return createTableSql;
}

static String getColName(int rowNum,int colNum)
{
//可以做成可配置文件
String colSql="";
String colValue="";

for(int j=0;j<colNum;j++){
colSql=colSql+"`"+colName+j+"`,";
colValue=colValue+""+"?,";

}

return "insert into "+tableName+" ("+colSql.substring(0,colSql.lastIndexOf(","))+")values("+colValue.substring(0,colValue.lastIndexOf(","))+")";
}

static void getConntion()
{

try {
String driver_class = "com.mysql.jdbc.Driver";
String connection_url = "jdbc:mysql://localhost:3306/webserve?useUnicode=true&characterEncoding=utf-8";
String user_name = "root";
String db_password = "123";

Class.forName(driver_class);
conn = DriverManager.getConnection(connection_url, user_name,db_password);
}catch(Exception e){
e.printStackTrace();
}
}

static void close()
{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

分享到:
评论

相关推荐

    C#通过NPOI库操作Excel,并将Excel数据导入Mysql数据库(自动建表)

    内容概要:本资源介绍了如何从利用Npoi库操作Excel,如相关读取单元格、行,介绍了如何对单元格数据格式进行操作,并分享了如何将Datatable数据导入Mysql数据库,方便项目管理。 阅读建议:此资源以如何读取Excel...

    C# 写的Excel导入mysql数据库

    综上所述,C#实现Excel数据导入MySQL涉及到的主要技术点包括C#编程、Excel文件读取、数据库连接与操作、数据流处理以及性能优化。在实际操作中,需要根据具体需求和环境调整策略,确保程序的稳定性和效率。

    Python-Excel一键导入MySQL数据库MySQL数据库一键读取到Excel表格

    本主题将深入探讨如何利用Python实现Excel数据一键导入MySQL数据库,以及如何从MySQL数据库中一键读取数据到Excel表格。 首先,我们需要了解Python中的两个关键库:`pandas`和`mysql-connector-python`。`pandas`是...

    将Excel数据导入mysql数据库的几种方案.pdf

    在数据分析和处理中,经常需要将 Excel 表格中的数据导入到 MySQL 数据库中,以便进行进一步的数据分析和处理。今天,我们将讨论如何将 Excel 数据导入 MySQL 数据库的几种方案。 方案一:使用 Java 将 Excel 数据...

    基于python实现的Excel一键导入MySQL数据库,MySQL数据库一键读取到Excel表格+源码+使用教程+案例展示

    基于python实现的Excel一键导入MySQL数据库,MySQL数据库一键读取到Excel表格+源码+使用教程+案例展示,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介:...

    excel文件导入mysql数据库

    总之,将Excel文件导入MySQL数据库是一个常见的数据操作任务,通过合理利用各种工具和方法,可以高效、准确地完成数据迁移。在实际工作中,根据具体需求和环境选择合适的方法,同时确保数据安全和完整性。

    h2数据导入mysql数据库(看评论酌情下载)

    最后,需要将 Excel 文件中的数据导入到 MySQL 数据库中。这里可以右键点击 test 数据库下的某一张表,选择 "导入"-"MC Excel 文件",然后选择刚刚创建的 Excel 文件。这样,h2 数据库中的数据将被成功导入到 MySQL ...

    java实现Excel数据导入到mysql数据库.zip

    本项目"java实现Excel数据导入到mysql数据库"旨在利用Java技术将Excel表格中的数据高效地导入到MySQL数据库,并且在数据库中存在相同数据时进行更新,同时也支持将数据库中的数据导出到Excel表中。这个过程涉及到多...

    java实现Excel数据导入到数据库

    本篇文章将深入探讨如何使用Java实现这两个功能,主要涉及的技术栈包括Apache POI库用于操作Excel,以及JDBC(Java Database Connectivity)用于与MySQL数据库进行交互。 首先,我们需要了解Apache POI库。这是一个...

    将excel数据导入mysql数据库--Excel2Mysql工具

    标题中的“将excel数据导入mysql数据库--Excel2Mysql工具”揭示了本次讨论的主要内容,即如何使用特定的工具——Excel2Mysql,将Excel表格中的数据高效地导入到MySQL数据库中。这是一个常见的数据迁移需求,特别是在...

    利用java 导入Excel表格数据到mysql数据库里,源码,直接导入eclipse就可以运行

    在Java开发中,将Excel表格数据导入MySQL数据库是一项常见的任务,尤其在数据处理、数据分析以及系统集成等场景中。这个项目提供了一套完整的源码,可以直接在Eclipse环境中运行,帮助开发者快速实现这一功能。下面...

    excel批量导入数据库

    然而,当需要将大量数据从Excel导入到数据库时,手动操作不仅耗时,还容易出错。本篇文章将详细讲解如何实现“Excel批量导入数据库”,以及利用小工具提高效率。 一、Excel与数据库的交互原理 Excel数据批量导入...

    Excel导入到Mysql数据库源代码

    本知识点主要围绕如何将Excel中的数据高效地导入到MySQL数据库进行讨论。 首先,我们需要理解Excel数据的格式。Excel表格通常包含多行多列的数据,每一行代表一个记录,每一列代表一种属性。这些数据可以通过VBA...

    将excel导入到mysql数据库实例代码

    本教程将详细介绍如何通过编程将Excel数据导入到MySQL数据库中,这对于数据备份和迁移具有重要意义。 首先,我们需要准备以下工具: 1. Excel文件:包含要导入的数据。 2. MySQL服务器:安装并配置好的数据库服务。...

    springboot上传excel导入到数据库完整demo(后端代码)

    在本项目中,我们主要探讨的是如何利用SpringBoot框架实现Excel数据的导入并将其存储到MySQL数据库中的功能。这是一个常见的需求,在数据批量处理、数据分析或者系统集成时非常有用。下面将详细讲解涉及的关键技术点...

    excel导入到mysql数据库中用到的工具和方法

    将excel直接导入mysql中的详细方法和所用到的工具、excl数据导入mysql数据库的实现代码。

    php程序将excel导入到mysql数据库

    用php程序写的将excel导入到mysql数据库,先将excel另存为.csv格式,然后再导入,用起来很方便,很强大!

    django实现excel表导入到数据库(超级详细)

    django view接口实现excel表导入到数据库,主要运用xlrd包读取到excel表单的内容,然后再数据库里创建excel表的数据类型。我在里面增加了一层判断,就是如果库里面有excel表里面人或数据的话就会更新改变的数据,...

Global site tag (gtag.js) - Google Analytics