java把excel内容上传到mysql实例代码

 更新时间:2018年01月06日 15:01:49   作者:累人猿  
这篇文章主要介绍了java把excel内容上传到mysql实例代码,具有一定借鉴价值,需要的朋友可以参考下

mysql 表列名 num1,num2,num3,num4,num5,num6 表名Excle

上传的方法

package com.web.connection;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.HSSFCell;
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.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class TestExcel {
	//记录类的输出信息­
	static Log log = LogFactory.getLog(TestExcel.class);
	//获取Excel文档的路径­
	//.xlsx文件用XSSFWorkbook .xlx 用HSSFWorkbook 
	public static String filePath = "D://demoExcel.xlsx";
	public static void main(String[] args) {
		try {
			// 创建对Excel工作簿文件的引用­
			XSSFWorkbook wookbook = new XSSFWorkbook(new FileInputStream(filePath));
			// 在Excel文档中,第一张工作表的缺省索引是0
			// 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);­
			XSSFSheet sheet = wookbook.getSheet("Sheet1");
			//获取到Excel文件中的所有行数­
			int rows = sheet.getPhysicalNumberOfRows();
			//遍历行
			for (int i = 0; i < rows; i++) {
				// 读取左上端单元格
				XSSFRow row = sheet.getRow(i);
				// 行不为空­
				if (row != null) {
					//获取到Excel文件中的所有的列­
					int cells = row.getPhysicalNumberOfCells();
					String value = "";
					//遍历列­
					for (int j = 0; j < cells; j++) {
						//获取到列的值­
						XSSFCell cell = row.getCell(j);
						if (cell != null) {
							switch (cell.getCellType()) {
								case HSSFCell.CELL_TYPE_FORMULA:
								break;
								case HSSFCell.CELL_TYPE_NUMERIC:
								value += cell.getNumericCellValue() + ",";
								break;
								case HSSFCell.CELL_TYPE_STRING:
								value += cell.getStringCellValue() + ",";
								break;
								default:
								value += "0";
								break;
							}
						}
					}
					// 将数据插入到mysql数据库中­
					String[] val = value.split(",");
					TestEntity entity = new TestEntity();
					entity.setNum1(val[0]);
					entity.setNum2(val[1]);
					entity.setNum3(val[2]);
					entity.setNum4(val[3]);
					entity.setNum5(val[4]);
					entity.setNum6(val[5]);
					TestMethod method = new TestMethod();
					int a=method.add(entity);
					if(a>0){
						System.out.println("插入成功");
					} else{
						System.out.println("插入失败");
					}
				}
			}
		}
		catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		catch (IOException e) {
			e.printStackTrace();
		}
	}
}

其中 TestEntity 为用存放从excel表中查询到的数据的实体类

package com.web.connection;
public class TestEntity {
	private String num1;
	private String num2;
	private String num3;
	private String num4;
	private String num5;
	private String num6;
	public TestEntity(){
	}
	public String getNum1() {
		return num1;
	}
	public void setNum1(String num1) {
		this.num1 = num1;
	}
	public String getNum2() {
		return num2;
	}
	public void setNum2(String num2) {
		this.num2 = num2;
	}
	public String getNum3() {
		return num3;
	}
	public void setNum3(String num3) {
		this.num3 = num3;
	}
	public String getNum4() {
		return num4;
	}
	public void setNum4(String num4) {
		this.num4 = num4;
	}
	public String getNum5() {
		return num5;
	}
	public void setNum5(String num5) {
		this.num5 = num5;
	}
	public String getNum6() {
		return num6;
	}
	public void setNum6(String num6) {
		this.num6 = num6;
	}
}

TestMethod 为往mysql表中插入数据 的sql语句

package com.web.connection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class TestMethod {
	public int add(TestEntity te){
		Connection con = DBconnection.getConnection();
		PreparedStatement pstmt = null;
		int count = 0;
		String sql = " insert into Excle(num1,num2,num3,num4,num5,num6) values(?,?,?,?,?,?)";
		try {
			pstmt = con.prepareStatement(sql);
			pstmt.setString(1, te.getNum1());
			pstmt.setString(2, te.getNum2());
			pstmt.setString(3, te.getNum3());
			pstmt.setString(4, te.getNum4());
			pstmt.setString(5, te.getNum5());
			pstmt.setString(6, te.getNum6());
			count = pstmt.executeUpdate();
			/*
* if(count==0){ throw new DataAlreadyExistException(); }
*/
		}
		catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally {
			try {
				pstmt.close();
			}
			catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			DBconnection.closeConnection();
		}
		return count;
	}
}

总结

以上就是本文关于java把excel内容上传到mysql实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • Servlet系列两种创建方式

    Servlet系列两种创建方式

    本文主要介绍了Servlet系列两种创建方式,包含Servlet2.5之前使用和Servlet3.0后,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • Java8如何从一个Stream中过滤null值

    Java8如何从一个Stream中过滤null值

    这篇文章主要介绍了Java8如何从一个Stream中过滤null值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • springcloud gateway 映射失效的解决方案

    springcloud gateway 映射失效的解决方案

    这篇文章主要介绍了springcloud gateway 映射失效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java GUI插入图片不显示问题解决方法

    Java GUI插入图片不显示问题解决方法

    大家好,本篇文章主要讲的是Java GUI插入图片不显示问题解决方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • Java JVM虚拟机运行机制

    Java JVM虚拟机运行机制

    JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现。接下来通过本文给大家简单介绍Java JVM虚拟机运行机制,感兴趣的朋友一起看看吧
    2017-03-03
  • java实现简单三子棋游戏

    java实现简单三子棋游戏

    这篇文章主要为大家详细介绍了java实现简单三子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 使用springmvc运行流程分析,手写spring框架尝试

    使用springmvc运行流程分析,手写spring框架尝试

    这篇文章主要介绍了使用springmvc运行流程分析,手写spring框架尝试,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Nginx启用压缩及开启gzip 压缩的方法

    Nginx启用压缩及开启gzip 压缩的方法

    这篇文章主要介绍了Nginx启用压缩及开启gzip 压缩的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Java动态获取实现某个接口下所有的实现类对象集合

    Java动态获取实现某个接口下所有的实现类对象集合

    今天小编就为大家分享一篇关于Java动态获取实现某个接口下所有的实现类对象集合,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 如何用Springboot Admin监控你的微服务应用

    如何用Springboot Admin监控你的微服务应用

    这篇文章主要介绍了如何用Springboot Admin监控你的微服务应用,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下。
    2021-01-01

最新评论