`
shibin_1109
  • 浏览: 81571 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java将excel数据导入数据库

    博客分类:
  • java
阅读更多
package com.expai.utils;

import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;

/**
 * @author shibin
 *
 */
public class ExcelMySql {
       //加载mysql驱动链接到数据库
	public static String driver = "com.mysql.jdbc.Driver";
	public static String url = "jdbc:mysql://localhost:3306/expai?characterEncoding=UTF-8";
	public static String user = "root";
	public static String pwd = "123456";
       //读取E盘下的Book1这个excel表
	public static String fileToBeRead = "E:/Book1.xls";
	@SuppressWarnings("deprecation")
	public static void main(String[] args) {
       //拼接我想要的数据;
		String mm="11";
		String dd="08";
		String date="2013-"+mm+"-"+dd+" 00:00:00";
		String m=mm+dd;
		String y="2013"+m+"";
		int i=0;
		int j=0;
		Connection conn = null;
		PreparedStatement stmt = null;

		try {
			conn = getConn();
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

		try {
			HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
					fileToBeRead));
			BufferedWriter bw = new BufferedWriter(
					new FileWriter("E:\\www.xls"));
			// 多sheet
			for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) {
				if (null != workbook.getSheetAt(numSheets)) {
					HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
					String sql = "insert into `tb_boutique`(`name`,`price`,`describe`,`source`,`outUrl`,`showDate`,`largeUrl`,`smallUrl`,`praisecount`)"
							+ " values(?,?,?,?,?,?,?,?,?)";
					System.out.println(sql);
					// 对行进行遍历
				
					for (int rowNumOfSheet = 1; rowNumOfSheet <= aSheet
							.getLastRowNum(); rowNumOfSheet++) {
						
						try {
							stmt = conn.prepareStatement(sql);
						} catch (SQLException e1) {
							e1.printStackTrace();
						}
						
						if (null != aSheet.getRow(rowNumOfSheet)) {
							HSSFRow aRow = aSheet.getRow(rowNumOfSheet);
							// 对列进行遍历
							i++;
							j++;
							for (short cellNumOfRow = 0; cellNumOfRow < 5; cellNumOfRow++) {
								
								System.out.println("===="+aSheet.getRow(rowNumOfSheet).getCell(cellNumOfRow));
									stmt.setString(
											6,
											date);
									if(i==10){
										stmt.setString(
												7,
												"images/large"+y+"/"+m+"-"+i+".jpg");
									}else{
										stmt.setString(
												7,
												"images/large"+y+"/"+m+"-0"+i+".jpg");
									}
									
			
									if(j==10){
										stmt.setString(
												8,
												"images/small"+y+"/"+m+"-"+j+".jpg");
									}else{
										stmt.setString(
												8,
												"images/small"+y+"/"+m+"-0"+j+".jpg");
									}
									
					
									stmt.setInt(
											9,
											(int) (Math.random()*1000));
								
								aRow.getCell(cellNumOfRow).setCellType(Cell.CELL_TYPE_STRING);
								stmt.setString(cellNumOfRow + 1, aRow
										.getCell(cellNumOfRow) == null ? null
										: aRow.getCell(cellNumOfRow)
												.getStringCellValue());
							}

						}

						try {
							stmt.executeUpdate();
						} catch (SQLException e) {
							bw.write("sheet" + numSheets + "	row		"
									+ rowNumOfSheet + "\n" + e.getMessage());
							bw.newLine();
							e.printStackTrace();
						} finally {
							stmt.close();
						}
					}
				}
			}
			bw.flush();
			bw.close();

		} catch (Exception e) {
			System.out.println("ReadExcelError" + e);
		}

		try {
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	private static Connection getConn() throws Exception {
		Class.forName(driver).newInstance();
		Connection conn = null;
		if (user == null || user.equals("")) {
			conn = java.sql.DriverManager.getConnection(url);
		} else {
			conn = java.sql.DriverManager.getConnection(url, user, pwd);
		}

		return conn;
	}
}

分享到:
评论

相关推荐

    java读取excel数据导入数据库源码

    java读取excel数据导入数据库源码 java读取excel数据导入数据库源码

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

    在Java编程环境中,将Excel数据导入到数据库以及将数据库数据导出到Excel是常见的数据处理需求。本篇文章将深入探讨如何使用Java实现这两个功能,主要涉及的技术栈包括Apache POI库用于操作Excel,以及JDBC(Java ...

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

    在本项目中,需要建立到MySQL数据库的连接,执行INSERT或UPDATE语句,以便将Excel数据导入数据库。如果数据库中已存在相同数据,根据描述,会执行UPDATE操作,这需要在SQL语句中设置条件判断。 对于数据导入,如果...

    java中excel数据写入数据库

    综上所述,"java中excel数据写入数据库"涉及到的主要知识点有:Java Excel处理(使用jxl库),Struts2框架的文件上传,以及使用JDBC将数据写入数据库。这个过程需要对Java编程、Web开发和数据库操作有深入的理解。在...

    java实现excel导入数据库

    在Java编程中,将Excel数据导入到MySQL数据库是一项常见的任务,尤其在数据处理和分析的场景下。要完成这个过程,我们需要使用特定的库来读取Excel文件,并使用JDBC(Java Database Connectivity)来与MySQL数据库...

    Java、SpringBoot实现对Excel内容的读取并将Excel内容导入到数据库中(后端篇)

    Java、SpringBoot实现对Excel内容的读取并将Excel内容导入到数据库中(后端篇)

    excel表导入数据库 数据库导出excel(idea平台)

    - 数据校验:在将Excel数据导入数据库前,进行数据格式和完整性检查。 - 错误处理:捕获并处理可能出现的异常,如文件读取错误、数据库连接失败等。 - 性能优化:大量数据导入时,可以使用批处理操作,减少与数据库...

    java web Excel导入数据库

    综上所述,Java Web中Excel数据导入数据库的过程涉及到文件上传、Excel读取、数据处理和数据库操作等多个技术环节。通过合理选择和使用各种库,我们可以构建高效且可靠的导入系统,满足企业对大量数据处理的需求。在...

    JAVA实现Excel导入数据库

    4. **数据库连接**: 要将数据导入数据库,首先需要建立数据库连接。Java提供`java.sql.DriverManager`类来管理数据库连接。你需要提供数据库URL、用户名、密码以及JDBC驱动类名。例如,对于MySQL,JDBC驱动是`...

    java解析excel并导入数据库的web工程

    回答csdn论坛:Java语言下excel导入到mysql数据库表...

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

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

    Java实现excel文档数据导入数据库、导出excel

    // 将数据写入Excel... // 保存文件... rs.close(); stmt.close(); conn.close(); } } ``` 总结,Java通过Apache POI库处理Excel文档,结合JDBC进行数据库操作,实现了数据的导入导出。在实际应用中,可能还...

    Excel树形结构数据导入Oracle数据库(Java)

    当我们面对大量结构化数据,例如Excel表格,需要将其导入到关系型数据库如Oracle时,通常会利用编程语言如Java来实现自动化处理。这篇博客“Excel树形结构数据导入Oracle数据库”提供了一个解决方案,下面将详细解析...

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

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

    excel数据导入数据库(java)

    实现,excel数据表导入mysql数据中,用java实现,好不容易解决了,就把他上传下吧,免得有人跟我似的,找了好几天都没有找到代码!~有什么不明白的可以加Q:568151875,不过大部分时间我都在工作,你可以留言!~

    java解析Excel文件并把数据存入数据库和导出数据为excel文件SpringBoot代码示例

    1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....

    java excel 读写 java excel 导入数据库

    Java Excel 读写与导入数据库是Java开发中常见的任务,特别是在数据处理和分析场景下。以下将详细讲解这个主题,并提供一些关键知识点。 首先,Java处理Excel文件主要依赖于两个库:Apache POI 和 JExcelAPI。...

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

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

    Java实现把excel表中的数据导入到mysql数据库已有的表中

    ### Java实现Excel数据导入MySQL数据库的关键知识点 #### 1. Excel数据读取与解析 在Java中处理Excel数据,常用库有Apache POI和JXL。题目中的代码片段使用了JXL库,这是一种较为老旧的库,但在当时非常流行。JXL...

Global site tag (gtag.js) - Google Analytics