导入Excel表格时使用java的POI操作

首先想要操作Excel就先创建操作对象,本文是通过servlet方式导入的Excel并进行对表格操作,代码如下

newReq.setCharacterEncoding("UTF-8");
FileItem item=ExcelUtil.getFileItem(newReq);
//excel文件输入流
excelIn = item.getInputStream();
XSSFWorkbook workbook = new XSSFWorkbook(excelIn);
// 获取第一个工作簿
XSSFSheet sheet = workbook.getSheetAt(0);
// 获取总行数
int rowCount = sheet.getPhysicalNumberOfRows();
// 第一行
Row titleRow = sheet.getRow(0);
// 获取总列数
int cellCount = titleRow.getPhysicalNumberOfCells();

 拿到workbook之后就可以为所欲为的操作表格了。下面主要讲在导入过程遇到的一些问题。

1、表格数据有可能是字符串或者数字或者其他,此时就不能一概使用getStringCellValue(),如果想要获取的是字符串格式,直接使用toString(),比如获取第i行第j列单元格的文本

sheet.getRow(i).getCell(j).toString;

2、如果单元格中没有值,则后台获取的cell对象为null ,此时如果在循环,则需要先创建单元格,不能直接使用toString来获取值,因为cell为空因此会报错

XSSFCell cell = sheet.getRow(i).getCell(j);
cell = sheet.getRow(i).createCell(j);

3、如果使用toString方法来获取文本,则需要设置单元格为文本类型

sheet.getRow(i).getCell(j).setCellType(HSSFCell.CELL_TYPE_STRING);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值