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数据库)
转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^