导入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);

猜你喜欢

转载自blog.csdn.net/TetaiSon/article/details/82148946
今日推荐