gpt4 book ai didi

java - 使用jsp/servlet将excel数据上传到数据库

转载 作者:行者123 更新时间:2023-12-01 11:40:04 33 4
gpt4 key购买 nike

1)如何开发一个软件,将excel中的所有数据转移到oracle数据库中?

2)Excel工作表中的单元格可能会根据用户给出的输入而变化,因此我们必须动态读取Excel并根据列值创建临时表?

请向我建议一个想法,如果可能的话,建议我一个示例链接

提前致谢

使用浏览按钮读取文件名

             fileName = new File(item.getName()).getName();
String filePath = uploadPath + File.separator + fileName;
//System.out.println("File Name : "+fileName);
//System.out.println("File Path : "+filePath);
File storeFile = new File(filePath);
// saves the file on disk
if(fileName != null && fileName.length()>0){
System.out.println("Store File : "+fileName);
item.write(storeFile);
fileInp=item.getInputStream();

读取给定的Excel文件

        System.out.println("Started reading Excel File");
String[] title = new String[6];
String[] val = new String[6];

workbook = new HSSFWorkbook(fileInp);

Sheet worksheet = workbook.getSheetAt(0);
rowCount = worksheet.getLastRowNum();
Row row = worksheet.getRow(0);
Cell col1 = row.getCell((short) 0);
title[0] = col1.getStringCellValue();
Cell col2 = row.getCell((short) 1);
title[1] = col2.getStringCellValue();
Cell col3 = row.getCell((short) 2);
title[2] = col3.getStringCellValue();
Cell col4 = row.getCell((short) 3);
title[3] = col4.getStringCellValue();
Cell col5 = row.getCell((short) 4);
title[4] = col5.getStringCellValue();
Cell col6 = row.getCell((short) 5);
title[5] = col6.getStringCellValue();

for (int i = 1; i <= rowCount; i++) {

row = worksheet.getRow(i);
Cell col;
for (int j = 0; j < 6; j++) {
col = row.getCell((short) j);
if (col != null) {
col.setCellType(HSSFCell.CELL_TYPE_STRING);
val[j] = col.getStringCellValue();
/*
* switch (col.getCellType()) { case
* HSSFCell.CELL_TYPE_STRING: val[j] =
* col.getStringCellValue(); break; case
* HSSFCell.CELL_TYPE_NUMERIC: val[j] =
* col.getNumericCellValue() + ""; break; }
*/
}
}
除此之外,我需要以动态方式执行相同的过程,在上述情况下,我已经预定义了列,但我需要编写一段代码,其中我应该根据列的编号生成一个表der 在数据库中

最佳答案

一种可能的方法是使用 Apache Poi to read the excel逐行工作表。

获取数据后,您可以使用 JDBC 驱动程序将数据填充到数据库中。

关于java - 使用jsp/servlet将excel数据上传到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29606824/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com