java中怎么把excel导入数据库

java中怎么把excel导入数据库,第1张

1、利用Excel第三方工具,将Excel文件读取到内存中。使用最简单,方便的工具是apache的poi工具包,自己网上下载 http://poi.apache.org/ ,使用方法网上一搜一大片。

2、如果是对于特别大的excel(大于20M的话),简单的读取方法就容易内存溢出了,需要采用流式读取的方式,参考http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api 

3、将已读入内存的Excel数据,整理成写数据库的数据结构,然后插入数据库。这部分工作应该不用介绍了,就是基本的数据库 *** 作方法,与excel无关了

具体如下:

1、简介

编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

2、汇编程序

汇编程序。使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。

3、执行原理

计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级编程硬件程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。

你可以用JXL做。读到数据库,可以通过jxl来实现,可以把EXCEL文档上传到系统的上传目录下后,然后再取得这个文件,或者直接取得这个文件,对这个文件进行 *** 作。

例子:

public void addCustomerAssign(File file,SysExpo expo,SysUser user1)//添加客服中心数据

{

jxl.Workbook rwb = null

try{

//构建Workbook对象, 只读Workbook对象

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

//从输入流创建Workbook

InputStream is = new FileInputStream(file)

rwb = Workbook.getWorkbook(is)

String createTime = DateUtil.getDateTime( "yyyy-MM-dd HH:mm ",new Date()).toString()

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

//Sheet的下标是从0开始

//获取第一张Sheet表

Sheet rs = rwb.getSheet(0)

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

// int rsColumns = rs.getColumns()

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

int rsRows = rs.getRows()

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

// rs.getCell(列,行)

for(int i=1i <rsRowsi++){//如第一行为属性项则从第二行开始取数据(int i=0 i <rsRowsi++)

//for(int j=0j <rsColumnsj++){

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

// System.out.print(cell.getContents()+ " ")

// }

//Cell cell = rs.getCell(0,i).getContents()+ " "

String cell1= rs.getCell(0,i).getContents()+ " "//序号

String cell7 = rs.getCell(6,i).getContents()+ " "//公司名称

if(cell1!=null&&!cell1.equals( " ")&&cell7!=null&&!cell7.equals( " "))//判断当前行是否为有效行 是插入否找下行

{

Company company = new Company()

company.setName(rs.getCell(0,i).getContents()+ " ")//1名称

company.setManager(rs.getCell(1,i).getContents()+ " ")//2法人

}

}

}catch(Exception e){

e.printStackTrace()

}

finally{

// *** 作完成时,关闭对象,释放占用的内存空间

rwb.close()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8519624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存