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

怎样将Excel文件导入数据库(在JSP环境下Java代码),第1张

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

你这个思路没有问题的!

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

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

第二是Excel解析,用JSL或者POI都行

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

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

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

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

2、Excel文件目录:d://excelxls-

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

4、数据库名:blog-

5、表名:test-

6、编写类:连接mysql的字符串方法、插入的方法、实体类--

import javaioFileInputStream;-

import javaioFileNotFoundException;-

import javaioIOException;-

import orgapachecommonsloggingLog;-

import orgapachecommonsloggingLogFactory;-

import orgapachepoihssfusermodelHSSFCell;-

import orgapachepoihssfusermodelHSSFRow;-

import orgapachepoihssfusermodelHSSFSheet;-

import orgapachepoihssfusermodelHSSFWorkbook;-

public class TestExcel {-

//记录类的输出信息-

static Log log = LogFactorygetLog(TestExcelclass); -

//获取Excel文档的路径-

public static String filePath = "D://excelxls";-

public static void main(String[] args) {-

try {-

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

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

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

// 其语句为:HSSFSheet sheet = workbookgetSheetAt(0);-

HSSFSheet sheet = wookbookgetSheet("Sheet1");-

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

int rows = sheetgetPhysicalNumberOfRows();-

//遍历行-

for (int i = 0; i < rows; i++) {-

// 读取左上端单元格-

HSSFRow row = sheetgetRow(i);-

// 行不为空-

if (row != null) {-

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

int cells = rowgetPhysicalNumberOfCells();-

String value = ""; -

//遍历列-

for (int j = 0; j < cells; j++) {-

//获取到列的值-

HSSFCell cell = rowgetCell(j);-

if (cell != null) {-

switch (cellgetCellType()) {-

case HSSFCellCELL_TYPE_FORMULA:-

break;-

case HSSFCellCELL_TYPE_NUMERIC:-

value += cellgetNumericCellValue() + ","; -

break; -

case HSSFCellCELL_TYPE_STRING:-

value += cellgetStringCellValue() + ",";-

break;-

default:-

value += "0";-

break;-

}-

} -

}-

// 将数据插入到mysql数据库中-

String[] val = valuesplit(",");-

TestEntity entity = new TestEntity();-

entitysetNum1(val[0]);-

entitysetNum2(val[1]);-

entitysetNum3(val[2]);-

entitysetNum4(val[3]);-

entitysetNum5(val[4]);-

entitysetNum6(val[5]);-

TestMethod method = new TestMethod();-

methodAdd(entity);-

}-

}-

} catch (FileNotFoundException e) {-

eprintStackTrace();-

} catch (IOException e) {-

eprintStackTrace();-

}-

}-

}-

错了,你是要批量导入吗?

需要下载poi包

首先要先把文件转变成数据流InputStream,然后

try

{

HSSFWorkbook workbook = new HSSFWorkbook(is);

HSSFSheet sheet=workbookgetSheetAt(0);

}

catch(Exception e)

{

eprintStackTrace();

}

if(sheet==null)

{

close(streamIn);

return null;

}

int rows = sheetgetPhysicalNumberOfRows();

if(rows<=1)

{

close(streamIn);

return null;

}

HSSFRow row =null;

DecimalFormat formatter=new DecimalFormat("#");

for(int r = 1;r< rows;r++)

{

}

遍历取出,并保存

需要对Excel中的数据进行读取 *** 作。

一、在开始进行Java读写Excel前,需要先下一个jxl的jar包,这个jar包中提供了相关读写Excel的方法,将jxljar放到classpath下或者在工程的buildpath中添加jxljar后,便可以开始Java读写Excel了。

二、Java读取Excel数据,首先,创建一个xls文件(如:jxltestxls),然后在文件中添加一些数据,Excel文件创建完成后,便可以开始写代码读取了。

三、进行一个小小的扩展,读取一个目录下的所有Excel文件,读取的每个Excel文件的数据写入到不同的txt中。

四、生成EXCEL需要手动写查询语句把ORACLE数据库中的数据查询出来,再通过 *** 作写到EXCEL文件里面。通过EXCEL把数据读取到ORACLE,同样需要去读取EXCEL工作薄里面的内容,再通过INSERT语句去插入数据库 *** 作。

用到的类 是 :

import orgapachepoihssfusermodelHSSFRow;

import orgapachepoihssfusermodelHSSFSheet;

import orgapachepoihssfusermodelHSSFWorkbook;

try {

// List<String[]> 中的元素 行数组String[]为excel中的每一行

List<String[]> list = new ArrayList<String[]>();

InputStream is = new FileInputStream("testxls");

HSSFWorkbook hwk = new HSSFWorkbook(is);// 将is流实例到 一个excel流里

HSSFSheet sh = hwkgetSheetAt(0);// 得到book第一个工作薄sheet

int rows = shgetLastRowNum()+1 - shgetFirstRowNum(); // 总行数

for(int i=0; i<rows; i++){

HSSFRow row = shgetRow(i);

int cols = rowgetLastCellNum()+1 - rowgetFirstCellNum(); // 该行的总列数

String[] str = new String[cols]; // 用来存放该行每一列的值

for (int j = 0; j < cols; j++) {

Object col = rowgetCell((short)j);

str[j] = coltoString();

}

}

循环变量 i 和 j 可以自己设定从第几行开始读,第几列开始读,下标从0开始。

然后你想做什么判断想做什么数据匹配都可以自己加了。

poihssfusermodel jar包要是网上找不到,就给我发邮件,我邮给你:273686381@qqcom

以上就是关于怎样将Excel文件导入数据库(在JSP环境下Java代码)全部的内容,包括:怎样将Excel文件导入数据库(在JSP环境下Java代码)、java如何把excel内容导入到mysql数据库,数据库的列名就是excel的列名、把EXCEL文件导入到MYSQL数据库的java类代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9785170.html

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

发表评论

登录后才能评论

评论列表(0条)

保存