Java轻松实现Excel数据导入数据库! (java实现导入excel到数据库)

在现代社会中,数据的信息化和智能化处理早已成为企业发展的重要方向。而数据处理的基础和核心就是数据库。数据库的管理关系到企业的发展和效率,因此,数据的导入和处理成为企业日常工作的必备活动。

然而,数据的导入和处理也面临一些问题。比如,现实中数据的来源往往是Excel这种表格软件,但是,将这些数据导入到数据库中却不是一件简单的事情。如果用手工拷贝的方式进行导入,那么工作量将会十分庞大,而且容易出现错误。此时,我们就需要一种轻松的方法来实现Excel数据的导入。

Java作为面向对象的高级编程语言,广泛应用于软件开发、手机应用、企业级应用、嵌入式系统和云计算等领域。在数据处理和导入中,Java的应用也很广泛。下面我们将分析如何使用Java轻松实现Excel数据导入数据库。

准备工作

在使用Java进行Excel数据导入时,我们需要以下开发环境和工具:

– JDK:需要安装Java开发工具包(JDK)。

– Eclipse或Intellij IDEA:作为开发工具,需要安装一个集成开发环境(IDE)。

– MySQL:可用于存储导入的数据,需要配置MySQL数据库环境并在本地或云端创建一个或多个数据库。

– Excel算法库:需要导入Java操作Excel的算法库Apache POI。

Java代码实现

在准备工作完成后,我们就可以使用Java代码来实现Excel数据导入数据库了。在下面的例子中,我们将使用Java将员工信息从Excel表格中导入到MySQL数据库中。

首先是创建Excel文件中的员工信息表格。员工信息表格至少必须包括以下内容:

– 员工编号:ID

– 员工姓名:NAME

– 性别:SEX

– 年龄:AGE

– 邮箱:EML

– 手机号码:PHONE

– 地址:ADDRESS

现在让我们来看一下Java代码是如何实现的。

导入Excel数据的方法如下所示:

public class ExcelImport {

public static boolean importExcel(File file, int excelIndex, boolean isFirstRowAsHeader) {

boolean result;

try {

Workbook workbook = WorkbookFactory.create(file);

Sheet sheet = workbook.getSheetAt(excelIndex);

if (isFirstRowAsHeader) {

Row header = sheet.getRow(0);

if (header != null) {

// 获取表头数据

String idName = header.getCell(0).getStringCellValue();

String nameName = header.getCell(1).getStringCellValue();

String sexName = header.getCell(2).getStringCellValue();

String ageName = header.getCell(3).getStringCellValue();

String emlName = header.getCell(4).getStringCellValue();

String phoneName = header.getCell(5).getStringCellValue();

String addressName = header.getCell(6).getStringCellValue();

} else {

System.err.println(“表头为空!”);

}

}

// 遍历表格内容

Iterator rowIterator = sheet.rowIterator();

while (rowIterator.hasNext()) {

Row row = rowIterator.next();

if (row.getRowNum() == 0 && isFirstRowAsHeader) {

continue;

}

// 读取每个单元格的数据

int id = (int) row.getCell(0).getNumericCellValue();

String name = row.getCell(1).getStringCellValue();

String sex = row.getCell(2).getStringCellValue();

int age = (int) row.getCell(3).getNumericCellValue();

String eml = row.getCell(4).getStringCellValue();

String phone = row.getCell(5).getStringCellValue();

String address = row.getCell(6).getStringCellValue();

// 将读取到的数据插入到数据库中

result = executeUpdate(“INSERT INTO employees (id, name, sex, age, eml, phone, address)”

+ ” VALUES (“+id+”, ‘”+name+”‘, ‘”+sex+”‘, “+age+”, ‘”+eml+”‘, ‘”+phone+”‘, ‘”+address+”‘)”);

}

workbook.close();

} catch (Exception e) {

e.printStackTrace();

result = false;

}

return result;

}

}

然后是将员工信息存储到数据库的方法:

public static boolean executeUpdate(String sql){

boolean result;

try{

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

Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/database?serverTimezone=UTC&characterEncoding=utf8&useSSL=false”, “root”, “123456”);

Statement statement = connection.createStatement();

statement.executeUpdate(sql);

statement.close();

connection.close();

result = true;

} catch (Exception e) {

e.printStackTrace();

result = false;

}

return result;

}

相关问题拓展阅读:

java如何把excel内容导入到mysql数据库,数据库的列名就是excel的列名

微软提供了将EXCEL作为数据源的驱动

控制面板–管理工具–数据源 在系统DSN标签下点选添冲蚂加 选择Driver Do MicroSoft Excel

点击完成 数据源名任意 选择EXCEL版本然后点选陵判正选择工作尺悔簿 选中你要导入的EXCEL文件

要通过java程序获取内容的话

Connection c = null;

Statement stmnt = null;

try {

Class.forName( “sun.jdbc.odbc.JdbcOdbcDriver” );

c = DriverManager.getConnection( “jdbc:odbc:数据源名”, “”, “” );

stmnt = c.createStatement();

String query = “SELECT * FROM “;

ResultSet rs = stmnt.executeQuery( query );

要注意的是SQL语句中表名的写法 后面要加$

1、添加POI jar包到项目的lib目录下-

2、Excel文件目录:

3、数据库字租春段为:num1 num2 num3 num4 num5 num6-

4、数据库名:blog-

5、表名:test-

6、编写类:连接mysql的字符旦型明串方法、插入的方法、实体类–

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;-

public class TestExcel {-

//记录类的输出信息-

static Log log = LogFactory.getLog(TestExcel.class); –

//获取Excel文档的路径-

public static String filePath = “

public static void main(String args) {-

try {-

// 创建对Excel工作簿文件的引用-

HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath));-

// 在Excel文档中,之一张工作表的缺省索引是0,-

// 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);-

HSSFSheet sheet = wookbook.getSheet(“Sheet1”);-

//获取到Excel文件中的所有行数-

int rows = sheet.getPhysicalNumberOfRows();-

//遍历行-

for (int i = 0; i = null;

//创建连接数据库,并插入数据的操作类以及相应方法 DataOper.java

//连接数据库

//插入数据方法

public static boolean insert(Person person); //参数为数据库映射对象

//创建解析excel操作类 ExcelCon.java

ExcelConec = new ExcelCon();

//解析excel返回值 具体取值代码自携粗己实现吧

persons = ec.getList();

//灶乎实现批量插入。在不使用批处理的情况下

for( int i = 0 ; i

Person person = (Person)persons.get(i);

DataOper.insert(person);

}

//大体如此 楼上正好把取excel数据的方法写了!!

我用的是一个耐悉叫CVS的导入小工具

不仅mysql 能用 ORACLE 、SQLServer 都能慎瞎用

你可以去百度

怎样将Excel文件导入数据库(在P环境下Java代码)

呵呵,楼主既然思路都有了还怕写不出代码么?

你这个思路没有问题的!

可以把这个问题拆分成几个小问题,就简单多了。

之一是文件上传,可以参照Jakarta的FileUpload组件,其实也不一定要用这个,用普通的Post也就行了。

第二是Excel解析,用L或者POI都拦搏茄行

第三银或是数据保存,这个应该简单吧,一个循环,一行对应一条数据,写好了方法循环赋值调用就行简察了。

第四是查询和显示,这个更简单了,不用多说。

文件上传和Excel解析的例子网上很多的,改改就变自己的了,何必在这管别人要代码呢~

我只给你说下第二步怎么样吧,其他的你自己应该可以解决的。

通过使用第三方包jxl.jar,我以前导过数据,也是解析Excel,将Excel中的数据导入数据库中,这个包很好下,如果找不到可以留下邮箱

//程序说明: 要导入jxl.jar到Classpath中。

import jxl.*;

import java.io.*;

import jxl.write.*;

/**

* java读取Excel表格,拷贴心、更新Excel工作薄

*/

public class Test1 {

public static void main(String args) {

jxl.Workbook rwb = null;

try{

//构建Workbook对象 只郑缓读Workbook对象

//直接从本地文件创建Workbook

//从输入流创建Workbook

InputStream is = new FileInputStream(”

rwb = Workbook.getWorkbook(is);

//Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中

//Sheet的下标喊薯模是从0开始的

//获取之一张Sheet表

Sheet rs = rwb.getSheet(0);

//获取Sheet表中所包含的总列数

int rsColumns = rs.getColumns();

//获取Sheet表中所包含的总行数

int rsRows = rs.getRows();

//获取指这下单元格的对象引用

for(int i=0;i

for(int j=0;j

Cell cell = rs.getCell(j,i);

System.out.print(cell.getContents()+” “);

}

System.out.println();

}

//利用已经创建的Excel工作薄创建新的可写入的Excel工作薄

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(”

//读取之一张工作表

jxl.write.WritableSheet ws = wwb.getSheet(0);

//获取之一个单元格对象

jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

//决断单元格的类型,做出相应的转化

if (wc.getType() == CellType.LABEL) {

Label l = (Label) wc;

l.setString(“The value has been modified.”);

}

//写入Excel对象

wwb.write();

wwb.close();

}catch(Exception e){

e.printStackTrace();

}

finally{

//操作完成手晌时,关闭对象,翻译占用的内存空间

rwb.close();

}

}

}

利用隐此poi组件读灶亩迅出excel文件内部及各单元格 再插入到表的相应字段中。我一直是这么做的耐知。或者利用jxl组件。

关于java实现导入excel到数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


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