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数据导入到数据库以及将数据库数据导出到Excel是常见的数据处理需求。本篇文章将深入探讨如何使用Java实现这两个功能,主要涉及的技术栈包括Apache POI库用于操作Excel,以及JDBC(Java ...
在本项目中,需要建立到MySQL数据库的连接,执行INSERT或UPDATE语句,以便将Excel数据导入数据库。如果数据库中已存在相同数据,根据描述,会执行UPDATE操作,这需要在SQL语句中设置条件判断。 对于数据导入,如果...
综上所述,"java中excel数据写入数据库"涉及到的主要知识点有:Java Excel处理(使用jxl库),Struts2框架的文件上传,以及使用JDBC将数据写入数据库。这个过程需要对Java编程、Web开发和数据库操作有深入的理解。在...
在Java编程中,将Excel数据导入到MySQL数据库是一项常见的任务,尤其在数据处理和分析的场景下。要完成这个过程,我们需要使用特定的库来读取Excel文件,并使用JDBC(Java Database Connectivity)来与MySQL数据库...
Java、SpringBoot实现对Excel内容的读取并将Excel内容导入到数据库中(后端篇)
- 数据校验:在将Excel数据导入数据库前,进行数据格式和完整性检查。 - 错误处理:捕获并处理可能出现的异常,如文件读取错误、数据库连接失败等。 - 性能优化:大量数据导入时,可以使用批处理操作,减少与数据库...
综上所述,Java Web中Excel数据导入数据库的过程涉及到文件上传、Excel读取、数据处理和数据库操作等多个技术环节。通过合理选择和使用各种库,我们可以构建高效且可靠的导入系统,满足企业对大量数据处理的需求。在...
4. **数据库连接**: 要将数据导入数据库,首先需要建立数据库连接。Java提供`java.sql.DriverManager`类来管理数据库连接。你需要提供数据库URL、用户名、密码以及JDBC驱动类名。例如,对于MySQL,JDBC驱动是`...
回答csdn论坛:Java语言下excel导入到mysql数据库表...
在Java编程中,将Excel数据导入数据库是一项常见的任务,尤其在数据处理和分析场景中。以下是如何使用Java从Excel文件读取数据并将其存入数据库的详细步骤。 首先,我们需要一个能够读取Excel文件的库,例如...
// 将数据写入Excel... // 保存文件... rs.close(); stmt.close(); conn.close(); } } ``` 总结,Java通过Apache POI库处理Excel文档,结合JDBC进行数据库操作,实现了数据的导入导出。在实际应用中,可能还...
当我们面对大量结构化数据,例如Excel表格,需要将其导入到关系型数据库如Oracle时,通常会利用编程语言如Java来实现自动化处理。这篇博客“Excel树形结构数据导入Oracle数据库”提供了一个解决方案,下面将详细解析...
Java实现Excel导入导出数据库的方法示例主要介绍了Java实现Excel导入导出数据库的方法,结合实例形式分析了java针对Excel的读写及数据库操作相关实现技巧。该示例中,主要讲解了如何将Excel文件导入到数据库中,并...
实现,excel数据表导入mysql数据中,用java实现,好不容易解决了,就把他上传下吧,免得有人跟我似的,找了好几天都没有找到代码!~有什么不明白的可以加Q:568151875,不过大部分时间我都在工作,你可以留言!~
1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....
Java Excel 读写与导入数据库是Java开发中常见的任务,特别是在数据处理和分析场景下。以下将详细讲解这个主题,并提供一些关键知识点。 首先,Java处理Excel文件主要依赖于两个库:Apache POI 和 JExcelAPI。...
Java实现从excel中批量高效导入数据到数据库中,包括图片的导入存储,读取图片显示在jsp页面等,需要下载JspSmartUpload.jar和jxl.jar两个jar包,将两个包导入项目才能运行
### Java实现Excel数据导入MySQL数据库的关键知识点 #### 1. Excel数据读取与解析 在Java中处理Excel数据,常用库有Apache POI和JXL。题目中的代码片段使用了JXL库,这是一种较为老旧的库,但在当时非常流行。JXL...