`
hoho922
  • 浏览: 32798 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Java对Excel导入数据库功能实例

 
阅读更多
package com.action.payslip;

import java.io.FileInputStream;
import java.io.InputStream;
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.Cell;
import jxl.CellType;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;

public class PayslipExcelImport {
	
	 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("D:/user.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 = 1; 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/jeecg?useUnicode=true&characterEncoding=utf-8";
	   String user_name = "root";
	   String db_password = "root";
	   Class.forName(driver_class);
	   conn = DriverManager.getConnection(connection_url, user_name,
	     db_password);
	   conn.setAutoCommit(false);
	  } catch (Exception e) {
	   e.printStackTrace();
	  }
	 }
	 static void close() {
	  if (conn != null) {
	   try {
	    conn.close();
	   } catch (SQLException e) {
	    // TODO Auto-generated catch block
	    e.printStackTrace();
	   }
	  }
	 }

}

分享到:
评论
1 楼 贝塔ZQ 2016-09-29  
java对excel操作,可以通过PageOffice操作读取单元格内容,存取到数据库中的,可以看看他们官网上的事例demo。

相关推荐

    非常详细的用 java(springmvc+mybatis)实现excel导入功能并且保存到数据库

    "Java实现Excel导入功能并保存到数据库" 以下是根据给定的文件信息生成的相关知识点: 知识点1:Java Web开发框架SpringMVC 在本实例中,使用了SpringMVC框架来实现Web应用程序。SpringMVC是一种基于Java的Web...

    Java实现Excel导入导出数据库的方法示例

    Java实现Excel导入导出数据库的方法示例主要介绍了Java实现Excel导入导出数据库的方法,结合实例形式分析了java针对Excel的读写及数据库操作相关实现技巧。该示例中,主要讲解了如何将Excel文件导入到数据库中,并...

    Java 使用poi导入excel 并使用xml做数据验证

    在本项目中,我们结合了POI库和XML技术来实现Excel数据的验证与导入数据库。 首先,Apache POI提供了HSSF和XSSF两个API,分别用于处理老版本的BIFF8格式(.xls)和新版本的OOXML格式(.xlsx)。在这个案例中,我们...

    上传,邮件、excel导入数据库实例

    对于数据导入数据库的需求,可以先使用POI读取Excel数据,然后通过JDBC接口将数据插入到数据库中,这对于数据迁移或批量处理非常有用。 在实际项目中,这三个技术的结合可以实现这样的场景:用户在网页上上传一个...

    java把excel表格数据导入数据库

    在Java编程中,将Excel数据导入数据库是一项常见的任务,尤其在数据处理和分析场景中。以下是如何使用Java从Excel文件读取数据并将其存入数据库的详细步骤。 首先,我们需要一个能够读取Excel文件的库,例如...

    用poi将Excel数据导入数据库/java tools.jar动态类的生成

    总之,这个案例展示了如何结合使用Apache POI和Java的动态类生成功能,来处理Excel数据并将其导入数据库,同时提供了代码的灵活性和可扩展性。通过深入了解和实践这些技术,开发者可以更高效地处理数据,提升项目的...

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

    在将数据导入数据库之前,可能需要对数据进行清洗、格式转换等预处理。例如,处理空值、转换数据类型等。 ```python # 清洗数据,处理缺失值 data.dropna(inplace=True) # 转换数据类型,假设列'column_name'需要...

    EXCEL导入导出完整实例

    综上所述,"EXCEL导入导出完整实例"涵盖了Excel数据操作的各个方面,包括基础的导入导出、数据库连接、VBA编程以及高级的数据处理技巧。通过学习这些知识,你可以提高工作效率,更好地管理和分析数据。

    将excel数据插入到数据库中去demo.zip

    通过以上步骤,我们可以将Excel数据顺利地导入到数据库中,这个实例是一个很好的学习资源,帮助开发者了解和掌握数据导入的具体实践。在实际项目中,根据需求的不同,可能还需要考虑数据验证、并发控制、性能优化等...

    Java如何将Excel数据导入到数据库

    Java中Excel数据导入数据库的优点: 1. 高效:使用Java语言和相关的Jar包,可以快速地读取Excel文件中的数据,并将其导入到数据库中。 2. 方便:本文的方法可以使读者轻松地将Excel数据导入到数据库中,无需进行...

    java实现excel到mysql数据的导入实例

    在Java编程环境中,将Excel数据导入到MySQL数据库是一项常见的任务,尤其在数据处理、数据分析或者系统集成时。本文将详细讲解如何使用Java实现这一过程,包括读取Excel文件、建立对应的MySQL表结构以及数据的迁移。...

    java实现Excel导入导出

    这种Excel导入导出功能在许多场景下都非常实用,例如: - 数据分析:将Excel数据加载到程序中进行计算或处理。 - 数据迁移:将数据库或其他系统中的数据导出为Excel,便于用户查看和编辑,然后再导入回系统。 - ...

    通用excel导入/导出 (poi)

    在这个"通用excel导入/导出 (poi)"的示例中,我们主要关注的是Excel文件的处理,特别是如何利用POI库进行数据的导入和导出。下面将详细介绍这个过程中的关键知识点。 首先,让我们了解一下Apache POI。它是Apache...

    java编程excel导入MySQL.pdf

    根据提供的文件信息,这是一篇关于使用Java编程语言将Excel数据导入MySQL数据库的教程。这个过程通常涉及到以下几个关键知识点: 1. Java编程基础:Java是一种广泛使用的面向对象的编程语言,用于开发各种应用程序...

    java操作excel数据的导入导出,java流的读取

    在Java编程中,处理Excel数据的导入和导出是一项常见的任务,特别是在数据分析、报表生成以及数据交换等场景。本文将详细讲解如何使用Java操作Excel数据,并重点探讨Java流的读取技术。 首先,Java中处理Excel文件...

    用Java实现数据导入excel表格实例

    本实例将详细介绍如何使用Java来实现数据导入到Excel表格的操作。 首先,我们需要引入处理Excel文件的Java库,如Apache POI。Apache POI是一个开源项目,它允许Java开发者读写Microsoft Office格式的文件,包括...

    简单的excel导入例子··

    下面,我们将深入探讨Excel导入数据库的过程,涉及的相关知识点包括Excel文件结构、数据清洗、数据库连接以及导入操作。 首先,我们需要了解Excel文件的基本结构。Excel文件通常由工作簿(Workbook)组成,每个工作...

    Delphi报表的Excel导入导出操作实例..rar

    在Delphi编程环境中,开发人员经常需要处理数据的导入导出功能,特别是在报表生成与分析时,Excel作为广泛使用的电子表格软件,其导入导出功能是必不可少的。本实例将探讨如何在Delphi中实现Excel文件的读写操作,...

    java excel导入导出

    - "Excel导入导出":这可能是另一个实例,专门处理导入和导出数据到Excel的过程,比如从数据库中导出数据或从Excel文件导入数据到数据库。 - "ExcelDemo":这可能是一个简单的示例项目,展示了如何使用Java读取、...

    数据库数据导入到excel中 jsp

    对于“从excel导入到数据库中”,这个过程通常涉及以下步骤: 1. 使用POI读取Excel文件中的数据,这包括打开文件、获取工作表、遍历单元格并提取值。 2. 将这些数据转换成适合数据库存储的格式,可能需要进行类型...

Global site tag (gtag.js) - Google Analytics