Java实现轻松实现Excel数据导入MySQL数据库 (java将excel导入mysql数据库)

Java是一种广泛应用于各个领域的编程语言,通过Java可以实现各种各样的功能。其中涉及到管理和处理数据的场景中,Excel数据导入MySQL数据库也是非常普遍的一种应用。Java提供了多种处理Excel和MySQL的工具和框架,可以轻松实现Excel数据导入MySQL数据库的功能。

一、Excel数据导入MySQL数据库的需求

在信息化的今天,数据管理变得越来越重要,很多企业都有需要将Excel数据导入到自己的数据库中,以便进行更加深入的数据分析、挖掘和利用。以大型商超企业为例,业务部门经常需要将供应商提供的Product Excel表格导入到自己的数据库中,以便于管理、查询商品信息、库存信息以及价格信息等。而通过Java实现Excel数据导入MySQL数据库,可以让这一过程更加方便、快捷和高效。

二、Java实现Excel数据导入MySQL数据库的方法

1.通过Apache POI处理Excel数据

Apache POI是一个流行的Java实现Excel文件操作的API,通过POI可以轻松地读写Excel文件内容。采用此方法,首先需要在项目中引入POI的jar包。然后通过POI提供的类库,打开Excel文件,遍历每一行数据,将数据取出,再通过Java连接MySQL数据库,将Excel数据写入数据库。下面是伪代码示例:

FileInputStream excelFile = new FileInputStream(new File(“demo.xlsx”));

Workbook workbook = new XSSFWorkbook(excelFile);

Sheet datatypeSheet = workbook.getSheetAt(0);

Iterator iterator = datatypeSheet.iterator();

while (iterator.hasNext()) {

Row currentRow = iterator.next();

Iterator cellIterator = currentRow.iterator();

while (cellIterator.hasNext()) {

Cell currentCell = cellIterator.next();

if (currentCell.getCellTypeEnum() == CellType.STRING) {

System.out.print(currentCell.getStringCellValue() + “–“);

} else if (currentCell.getCellTypeEnum() == CellType.NUMERIC) {

System.out.print(currentCell.getNumericCellValue() + “–“);

}

}

System.out.println();

}

2.通过JDBC连接MySQL数据库

Java通过JDBC连接数据库可以方便地操作数据库。首先需要导入MySQL JDBC驱动程序的jar包。然后建立数据库连接,执行SQL语句。下面是伪代码示例:

Class.forName(“com.mysql.jdbc.Driver”);

Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/demo”, “username”, “password”);

Statement statement = connection.createStatement();

String query = “insert into products (product_name, product_price) values (‘Apple’, 10)”;

statement.executeUpdate(query);

3.将Java程序封装成工具类

由于Excel数据导入MySQL数据库是一个常见的场景,我们可以将Java程序封装成工具类,以便于使用方便,在不同的项目中都可以重用。下面是伪代码示例:

public class ExcelToMySQLUtils {

private static final String INSERT_QUERY = “INSERT INTO products(product_name, product_price) VALUES (?, ?)”;

private static final int BATCH_SIZE = 100;

public static void importExcel(String filePath) throws IOException, SQLException {

FileInputStream inputStream = new FileInputStream(new File(filePath));

Workbook workbook = new XSSFWorkbook(inputStream);

Sheet sheet = workbook.getSheetAt(0);

Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/demo”, “username”, “password”);

PreparedStatement pst = conn.prepareStatement(INSERT_QUERY);

int n = 0;

for(int i = 1;i

Row row = sheet.getRow(i);

String name = String.valueOf(row.getCell(0)).trim();

String price = String.valueOf(row.getCell(1)).trim();

pst.setString(1, name);

pst.setString(2, price);

pst.addBatch();

++n;

if (n>=BATCH_SIZE) {

pst.executeBatch();

n = 0;

}

}

pst.executeBatch();

conn.commit();

}

}

通过ExcelToMySQLUtils.importExcel(filePath)即可将Excel数据批量导入到MySQL数据库中。

三、

相关问题拓展阅读:

用java怎么将excel表格数据导入到mysql数据库中

现有poi读取到java里,然后通过java操作数据库把读取的内容插入到数据库里。

java poi实现excel中的数据导入到mysql数据库中,例如excel中有id,name,age。将其导入到数据库中。

package bis.excel;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import java.util.TreeMap;

import jxl.Sheet;

import jxl.Workbook;

public class Excel {

 

 @SuppressWarnings(“unchecked”)

 public List addCust(File file){

  List list=new ArrayList();

  List list2=new ArrayList();

  Workbook rwb=null;

  try {

   List list1=new ArrayList();

   

   InputStream is=new FileInputStream(file);//读取文件(所要导入excel的保存目录,如:f:\\a.xls)

   rwb=Workbook.getWorkbook(is);//创建工作薄

   Sheet rs=rwb.getSheet(0);//读取excel中的之一个工作表(默认新建excel下面有sheet1,sheet2,sheet3)

   int cellCount=rs.getColumns();//获取Sheet表中所包含的总列数

   int rowCount=rs.getRows();//获取Sheet表中所包含的总行数

   for(int m=0;m

    String cell=rs.getCell(m,0).getContents();

    list1.add(cell);

   }

   for(int i=1;i

    Map map=new TreeMap();

    for(int j=0;j

     map.put(list1.get(j),rs.getCell(j,i).getContents());//将值以键/值对方式保存到map对象中即(id:1,name:zhangsan,age:18)

    } 

    list.add(map);//将值保存到list中

    //System.out.println(list.get(i-1));

   }

   

   list2.add(list1);//将表头(id,name,age)保存到list2中

   list2.add(list);//将值保存到list2中

  } catch (Exception e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }finally{

   rwb.close();

  }

  return list2; 

 }

 public void tosql(){

  List list=addCust(file);//file:所要导入excel的保存目录,如:f:\\a.xls

  Map map=new HashMap();

  String values=new String;//保存id,name,age 值

  for (int i =0; i 

  衫凳 map=(Map)ls2.get(i);

   String value=””;

    id=(String)map.get(“id”);

   name=(String)map.get(“name”);

   age=(String)map.get(“age”);

   value=id+”;”+name+”;”+age;

   values=value;

 }

 }

}

这是段读取excel表数据的代码,在tosql方法中调用addCust方法读取excel表,最后把所有行的id,name,age值保存到了values数组中,也可以保存到类中,如果你会对数据库操作的话,

后面的你自己弄下就行了,不会的话留言,我晚上在告诉你,我现在粗塌唤上班呢,时间有限,只能写这么多了

java将excel导入mysql数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java将excel导入mysql数据库,Java实现轻松实现Excel数据导入MySQL数据库,用java怎么将excel表格数据导入到mysql数据库中,java poi实现excel中的数据导入到mysql数据库中,例如excel中有id,name,age。将其导入到数据库中。的信息别忘了在本站进行查找喔。


数据运维技术 » Java实现轻松实现Excel数据导入MySQL数据库 (java将excel导入mysql数据库)