在现代社会中,数据的信息化和智能化处理早已成为企业发展的重要方向。而数据处理的基础和核心就是数据库。数据库的管理关系到企业的发展和效率,因此,数据的导入和处理成为企业日常工作的必备活动。
专注于为中小企业提供网站制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业酒泉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
然而,数据的导入和处理也面临一些问题。比如,现实中数据的来源往往是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;
}
成都网站建设公司-创新互联,建站经验丰富以策略为先导10多年以来专注数字化网站建设,提供企业网站建设,高端网站设计,响应式网站制作,设计师量身打造品牌风格,热线:028-86922220微软提供了将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 都能慎瞎用
你可以去百度
呵呵,楼主既然思路都有了还怕写不出代码么?
你这个思路没有问题的!
可以把这个问题拆分成几个小问题,就简单多了。
之一是文件上传,可以参照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到数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联科技有限公司,经过多年的不懈努力,公司现已经成为一家专业从事IT产品开发和营销公司。广泛应用于计算机网络、设计、SEO优化、关键词排名等多种行业!
本文标题:Java轻松实现Excel数据导入数据库!(java实现导入excel到数据库)
分享网址:http://www.mswzjz.com/qtweb/news32/197082.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联