读取excel导入mysql_java读取excel文档 导入数据库

这篇博客介绍了如何使用Java从Excel文件中读取数据并将其导入到MySQL数据库。通过创建一个Action和Service类,实现了读取.xlsx文件,遍历每一行并提取所需字段,然后将这些信息存入ImportArVO对象,最后调用DAO进行数据库操作。
摘要由CSDN通过智能技术生成

function submitExcel(){

var excel = $("#excel").val();

if(excel=='') {alert("请选择需上传的文件!");return false;}

if(excel.indexOf('.xlsx')==-1){alert("文件格式不正确,请选择正确的Excel文件(后缀名.xlsx)!");return false;}

$("#fileUpload").submit();

}

Action:

//Excel数据导入,需要设置set/get方法

private File excel;// 实际上传文件

private String excelContentType; // 文件的内容类型

private String excelFileName; // 上传文件名

personService.importExcel(excel);

Service

public List importExcel(File excelFile) throws Exception {

/* Workbook rwb=null;

InputStream is=new FileInputStream(excelFile);//读取文件

rwb=Workbook.getWorkbook(is);//创建工作薄

Sheet rs=rwb.getSheet(0);//读取excel中的第一个工作表(默认新建excel下面有sheet1,sheet2,sheet3)

int cellCount=rs.getColumns();//获取Sheet表中所包含的总列数

int rowCount=rs.getRows();//获取Sheet表中所包含的总行数

*/

//HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(excelFile));

List importArVOs = new ArrayList();

Workbook book = new XSSFWorkbook(new FileInputStream(excelFile));

XSSFSheet sheet = (XSSFSheet) book.getSheetAt(0);

int rowNum = sheet.getLastRowNum();//行数

XSSFRow row = sheet.getRow(0);

//int colNum = row.getPhysicalNumberOfCells();//列数

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

ImportArVO importArVO = new ImportArVO();

row = sheet.getRow(i);

//XSSFCell cell;

importArVO.setRyxm(row.getCell(1).getStringCellValue());

importArVO.setXm(row.getCell(2).getStringCellValue());

importArVO.setCm(row.getCell(3).getStringCellValue());

importArVO.setZm(row.getCell(4).getStringCellValue());

importArVO.setXb(row.getCell(5).getStringCellValue());

importArVO.setGmsfzhm(row.getCell(6).getStringCellValue());

importArVO.setCsrq(row.getCell(7).getStringCellValue());

importArVO.setHkszd(row.getCell(8).getStringCellValue());

importArVO.setXjzd(row.getCell(9).getStringCellValue());

importArVO.setCycs(row.getCell(10).getStringCellValue());

importArVO.setSfshlr(row.getCell(11).getStringCellValue());

importArVO.setSfposq(row.getCell(12).getStringCellValue());

importArVO.setLdyy(row.getCell(13).getStringCellValue());

importArVO.setRylx(row.getCell(14).getStringCellValue());

importArVO.setSbsj(row.getCell(15).getStringCellValue());

importArVO.setLrsj(row.getCell(16).getStringCellValue());

importArVO.setHyzh(row.getCell(17).getStringCellValue());

importArVOs.add(importArVO);

System.out.println(importArVOs.size());

}

/*if(0!=importArVOs.size()) {

ImportArVO importArVO = importArVOs.get(3);

System.out.println(importArVO.getRyxm());

System.out.println(importArVO.getXm());

System.out.println(importArVO.getCm());

System.out.println(importArVO.getZm());

System.out.println(importArVO.getXb());

System.out.println(importArVO.getGmsfzhm());

System.out.println(importArVO.getCsrq());

System.out.println(importArVO.getHkszd());

System.out.println(importArVO.getXjzd());

System.out.println(importArVO.getCycs());

System.out.println(importArVO.getSfshlr());

System.out.println(importArVO.getSfposq());

System.out.println(importArVO.getLdyy());

System.out.println(importArVO.getRylx());

System.out.println(importArVO.getSbsj());

System.out.println(importArVO.getLrsj());

System.out.println(importArVO.getHyzh());

}*/

//System.out.println(rowNum);

//System.out.println("左上端单元是: " + cell.getStringCellValue());

//System.out.println(rowCount);

return null;

}

数据库操作调用DAO即可,只记录下读取获值过程。

需要导入的包:

xsl 1 3

xslx 1 4 5

1c89aefeabd0e8c9f5bec385486415d1.png

还要有xbean.jar文件

9d56627a55125535563ae77131cfb22b.png

大小: 264.9 KB

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2014-03-27 16:49

浏览 1349

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值