最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

JAVA操作EXCEL写入数据库

来源:动视网 责编:小OO 时间:2025-09-29 04:17:17
文档

JAVA操作EXCEL写入数据库

需要下载相应的excel的jar包importjava.io.*;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjxl.*;publicclasstest{staticStringcreateTabl
推荐度:
导读需要下载相应的excel的jar包importjava.io.*;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjxl.*;publicclasstest{staticStringcreateTabl
需要下载相应的excel的jar包

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 = "excel2";// 创建数据库的sql

static String colType = "TEXT";// 字段类型

static String key = "id";// 主键

static String charSet = "utf8";// 表格字符类型

static String ENGINE = "InnoDB";// 表格类型

static String tableName = "et0";// 表名称

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("D:\\\\excel\\\estd.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 = "";

    conn.setAutoCommit(false);

    ps = conn.prepareStatement(sql);

    //System.out.println("rownum===================" + rowNum);

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(

     + colValue.substring(0, colValue.lastIndexOf(

}

static void getConntion() {

   try {

    String driver_class = "com.mysql.jdbc.Driver";

    String connection_url = "jdbc:mysql://localhost:3306/excel2?useUnicode=true&characterEncoding=utf-8";

    String user_name = "username";//输入数据库的用户名

    String db_password = "password";//输入数据库的密码

    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();

    }

   }

}

}

JAVA导出EXCEL

用jxl,poi工具

文档

JAVA操作EXCEL写入数据库

需要下载相应的excel的jar包importjava.io.*;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjxl.*;publicclasstest{staticStringcreateTabl
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top