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实现Excel数据导入到mysql数据库,如果数据库中存在就更新,数据库数据导入到Excel表中。
java实现excel导入数据库
java web Excel导入数据库java web Excel导入数据库 java web Excel导入数据库java web Excel导入数据库
Java实现excel文档数据导入数据库、导出excel
回答csdn论坛:Java语言下excel导入到mysql数据库表...
实现,excel数据表导入mysql数据中,用java实现,好不容易解决了,就把他上传下吧,免得有人跟我似的,找了好几天都没有找到代码!~有什么不明白的可以加Q:568151875,不过大部分时间我都在工作,你可以留言!~
JAVA实现Excel表数据导入ORACLE数据库JAVA实现Excel表数据导入ORACLE数据库JAVA实现Excel表数据导入ORACLE数据库JAVA实现Excel表数据导入ORACLE数据库
1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....
java对excel的操作,可以取的excel的行数,列数,取的每个单元格中的数据,,将excel数据导入数据库中
JAVA实现Excel导入数据库相应表中。
教会你怎么把excel的数据导入数据库,请按照上面的例子自己做实验。
通过java技术,实现excel数据导入数据库sqlserver2005的操作,代码简单易于理解。
Java、SpringBoot实现对Excel内容的读取并将Excel内容导入到数据库中(后端篇)
近写了点关于将excel导入数据库的代码,当然也可以看做是对前面所介绍的小项目进行补充所做的准备。 我一般都是先完成功能,然后将其封装成块,再添加到项目中,个人癖好不值得借鉴。项目中关于解析excel数据的...
java版Excel文件导入数据库源代码 servlet容器:tomcat(或者其他) 数据库:oracle(或者其他) 使用框架:jsp+struts1.2 支持字符型/数据型/日期型/CLOB等数据 使用步骤: 1.下载本资源,解压后得到4个文件:...