• 注册
当前位置:1313e > java >正文

java导入多个sheet_java导入excel,多sheet

直接上代码

// 1、创建一个DiskFileItemFactory工厂

DiskFileItemFactory factory = new DiskFileItemFactory();

// 2、创建一个文件上传解析器

ServletFileUpload upload = new ServletFileUpload(factory);

Map map = new HashMap();

// 解决上传文件名的中文乱码

upload.setHeaderEncoding("UTF-8");

InputStream in = null;

if (!ServletFileUpload.isMultipartContent(request))

{

// 按照传统方式获取数据

/* return ""; */

}

// 4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List集合,每一个FileItem对应一个Form表单的输入项

List list = upload.parseRequest(request);

for (FileItem item : list) {

// 如果fileitem中封装的是普通输入项的数据

if (item.isFormField()) {

String name = item.getFieldName();

// 解决普通输入项的数据的中文乱码问题

String value = item.getString("UTF-8");

map.put(name, value);

} else {// 如果fileitem中封装的是上传文件

// 得到上传的文件名称,

String filename = item.getName();

String filedsname = item.getFieldName();

if (filename == null || filename.trim().equals("")) {

continue;

}

// 注意:不同的浏览器提交的文件名是不一样的,有些浏览器提交上来的文件名是带有路径的,如:

// c:\a\b\1.txt,而有些只是单纯的文件名,如:1.txt

// 处理获取到的上传文件的文件名的路径部分,只保留文件名部分

filename = filename.substring(filename.lastIndexOf("\\") + 1);

// 获取item中的上传文件的输入流

in = item.getInputStream();

}

}

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} catch (FileUploadException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

// 读取Excel文件并存入数据库

Workbook wb = new XSSFWorkbook(in);

// 获取Excel文档中的sheet

for(int sheetIndex=0;sheetIndex

{

//这里是第一个sheet 有跟多的话就判断更多就行了

if(sheetIndex==0) {

Sheet sht = wb.getSheetAt(sheetIndex);

for (int i = 2;i<= sht.getLastRowNum(); i++)

{

Row r = sht.getRow(i);

//取出这一行这一列的值

String stringCellValue = r.getCell(1).getStringCellValue();

String stringCellValue2 = r.getCell(2).getStringCellValue();

。。。。。。。

}

}

}

注意解决碰到的某些问题

1.空指针问题:

Cell cell = r.getCell(j);

if (cell == null) {

r.createCell(j);

}

2数据类型问题(j为第几列)

r.getCell(j).setCellType(Cell.CELL_TYPE_STRING);

over:希望对你有帮助!!有问题可以随时与我沟通我们一起学习。加油骚年!

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录