`
429537044
  • 浏览: 48882 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

利用jxl把excel中的数据导入数据库

阅读更多

今天有一个客户把一个excel表格给我,要我把数据导入到数据库中去。

我这里 主要实现的思想是

1、把excel表格中的数据提取出来

2、建立一个对象,该对象的属性对应excel中的列属性

2、把每一行的数据封装到建立的对象中

3、把所有对象放入到一个list中

4、把list存入数据库  oh oh!

PS:个人偷懒,把所有的方法写到一个类中了(除实体类)

下面开始贴代码:

主要的操作类:Util.java

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class Util {
	
	public Connection getConn() {
		String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动
		String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=gdaudit"; // 连接服务器和数据库sample
		String userName = "sa"; // 默认用户名
		String userPwd = "123"; // 密码
		Connection dbConn = null;
		try {
			Class.forName(driverName);
			dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
			System.out.println("Connection Successful!"); // 如果连接成功
		} catch (Exception e) {
			e.printStackTrace();
		}
		return dbConn;
	}

	public List<CiaBO> getBO() {
		// TODO Auto-generated method stub
		List<String> list = new ArrayList<String>();
		String filePath = "d:/test.xls";
		InputStream fs = null;
		Workbook workBook = null;

		try {
			// 加载excel文件
			fs = new FileInputStream(filePath);
			// 得到 workbook
			workBook = Workbook.getWorkbook(fs);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (BiffException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		Sheet sheet = workBook.getSheet(0);// 这里只取得第一个sheet的值,默认从0开始
		Cell cell0 = null;// 就是单个单元格
		Cell cell1 = null;// 就是单个单元格
		List<CiaBO> ciaList = new ArrayList<CiaBO>();
		//该表格 一共602行  每行取前两列
		for (int i = 0; i < 77; i++) {
			CiaBO bo = new CiaBO();
			//取第一列
			cell0 = sheet.getCell(0, i);
			//取第二列
			cell1 = sheet.getCell(1, i);
			bo.setId(i+603);
			bo.setName(cell0.getContents());
			bo.setNumber(cell1.getContents());
			ciaList.add(bo);
		}
		workBook.close();// 记得关闭
		return ciaList;
	}
	
	public void save(List<CiaBO> list){
		  try {     
			  String sql = "insert into tb*****(id,name,***,***) values(?,?,?,?)";  
	            PreparedStatement prest = new Util().getConn().prepareStatement(sql);           
	            for(int x = 0; x < list.size(); x++){         
	                prest.setInt(1, list.get(x).getId());         
	                prest.setString(2, list.get(x).getName());         
	                prest.setString(3,list.get(x).getNumber());         
	                prest.setString(4, null);         
	                prest.addBatch();       
	            }         
	 
	            prest.executeBatch();         
	 
	        } catch (Exception ex) {   
	 
	            ex.printStackTrace();   
	 
	        }finally{      
	 
	        }   

	}
	
	public static void main(String args[]){
		Util db = new Util();
		List<CiaBO> list  = db.getBO();
		for (CiaBO ciaBO : list) {
			System.out.println(ciaBO.toString());
		}
		db.save(list);
	}
}

 实体类:CiaOB.java

public class CiaBO {
	private int id;
	private String name;
	private String number;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}

	@Override
	public String toString() {
		return "CiaBO [id=" + id + ", name=" + name + ", number=" + number
				+ "]";
	}
	
	
}

 

 

 

  • jxl.jar (708.7 KB)
  • 下载次数: 8
2
0
分享到:
评论

相关推荐

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

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

    Java实现从excel中批量导入数据到数据库

    Java实现从excel中批量高效导入数据到数据库中,包括图片的导入存储,读取图片显示在jsp页面等,需要下载JspSmartUpload.jar和jxl.jar两个jar包,将两个包导入项目才能运行

    基于JXL的Excel数据导入工具

    总结来说,基于JXL的Excel数据导入工具利用了Java的强大功能,结合JXL库,简化了Excel数据处理的复杂性,提高了效率。通过设计合理的工具和接口,我们可以轻松地实现Excel数据的导入、验证、处理和存储,为日常的...

    JXL操作EXCEL 数据库导出EXCEL相关文件

    通过结合数据库操作,我们可以方便地将数据库中的数据导出为Excel格式,用于报表生成、数据分析或其他目的。使用JXL,可以实现跨平台的Excel处理,而无需依赖特定的Office软件,提高了开发的灵活性和效率。

    JAVA实现Excel表数据导入ORACLE数据库.txt

    本文将详细介绍如何使用Java编程语言将Excel表格中的数据导入到Oracle数据库中。这一过程涉及到的关键技术包括:使用JDBC连接Oracle数据库、通过ODBC读取Excel文件以及利用PreparedStatement执行SQL语句。 #### ...

    JXL(Java操作Excel文件Oracle数据库)

    本篇文章将深入探讨如何利用JXL库在Java环境下操作Excel文件,并将其数据与Oracle数据库进行交互。 首先,JXL库提供了丰富的API,能够方便地对Excel文件进行各种操作。例如,可以创建新的工作簿,添加工作表,设置...

    将excel数据导入数据库

    本主题聚焦于如何利用Java编程语言操作Excel,并将其中的数据导入到数据库中。这里我们将深入探讨Java操作Excel的相关库、具体步骤以及数据库连接的相关知识点。 首先,Java操作Excel通常会借助第三方库,例如...

    将excel的内容导入到数据库.zip

    在IT行业中,将Excel数据导入数据库是一项常见的任务,特别是在数据分析、报表生成以及系统集成等场景。这个压缩包文件“将excel的内容导入到数据库.zip”包含了多个文档和资源,旨在指导如何使用Java处理Excel数据...

    java后台jxl将excel数据导入到MYSQL中

    本文将详细介绍如何使用jxl库来读取Excel文件,并将其内容存储到MySQL数据库中。 首先,我们需要了解jxl库。jxl是Java的一个开源库,专门用于读写Excel文件。它支持多种版本的Excel格式,包括97-2003(.xls)和2007...

    excel 表格导出导入 数据库

    5. **数据导出**:查询数据库中的数据,再使用Java Excel API将其写入到Excel文件中。 #### 六、总结 通过Java Excel API,我们可以方便地实现Excel文件的读取与写入,结合数据库技术可以实现更高级别的数据管理...

    用java实现把excel数据导入到mysql数据库中.pdf

    本文主要讲述如何使用 Java 语言将 Excel 数据导入到 MySQL 数据库中。下面将详细介绍相关知识点: 1. Java 读取 Excel 数据 Java 读取 Excel 数据是通过使用 JXL(Java Excel API)库来实现的。JXL 库提供了读取...

    使用jxl将数据库的数据导出到Excel

    在Java开发环境中,有时我们需要将数据库中的数据导出到Excel文件,以便于数据分析、报表生成或数据共享。这时,一个常用的工具就是JXL库。JXL全称为Java Excel API,它是一个强大的开源Java库,允许开发者在Java...

    excel数据导入数据库中

    接下来,我们将介绍如何使用`jxl`库读取Excel数据并将其导入数据库。以下是一个简单的示例程序: ```java import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import java.io.File; ...

    java利用jxl导入Excel表格并保存到本地数据库

    使用JDBC API建立连接,执行SQL语句,将读取到的数据插入到数据库中。例如: ```java import java.sql.*; public class DBUtil { public static Connection getConnection() { // 填写你的数据库连接信息 ...

    jxl excel批量导入

    这个过程在处理大量数据时非常有用,比如将数据库中的数据导出到Excel,或者从Excel文件中导入数据到数据库。 在描述中提到的“博文链接:https://xgtxxxx.iteye.com/blog/1616979”,虽然具体链接无法访问,但可以...

    java_Excel上传数据到Oracle数据库

    在这个场景中,我们需要用jxl来解析Excel文件,获取每一行的数据,然后准备插入到数据库中。 3. **Oracle数据库**:Oracle是企业级的关系型数据库管理系统,支持大规模数据存储和复杂查询。在Java应用中,我们通常...

    数据库内容导入到Excel jxl.jar包

    首先,从数据库中提取数据,然后使用jxl库将数据写入Excel工作表。这通常涉及到数据库查询、结果集遍历以及使用jxl的API创建和写入工作表。 以下是一个简单的示例,展示了如何使用jxl将数据写入Excel: ```java ...

Global site tag (gtag.js) - Google Analytics