// maven configuration
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version><!--$NO-MVN-MAN-VER$ -->
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version><!--$NO-MVN-MAN-VER$ -->
</dependency>
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;
/ **
* parsing Excel
*
* @param the Cell
* @return
* /
public void doImport(MultipartFile file) {
InputStream fis = null;
Workbook workBook = null;
try {
fis = file.getInputStream();
String fileName = file.getOriginalFilename();
//截取后缀名
String hz = fileName.substring(fileName.lastIndexOf("."), fileName.length());
Sheet tcsSheet;
if(".xlsx".equalsIgnoreCase(hz) || ".xlsx" == hz){
workBook = new XSSFWorkbook(fis);
}else{
workBook = new HSSFWorkbook(fis);
}
//获取sheet的数量
int sheetNum = workBook.getNumberOfSheets();
//遍历sheet,获取sheet中数据
for(int i=0;i<sheetNum;i++){
// determine the file extension is ".xlsx" or ".xls", and different operation
IF (. "XLSX" .equalsIgnoreCase (Hz) || ".xlsx" == Hz) {
tcsSheet = (XSSFSheet) WorkBook. getSheetAt (I);
} the else {
tcsSheet = (HSSFSheet) workBook.getSheetAt (I);
}
// Sheet name
String sheetName tcsSheet.getSheetName = ();
int rows = tcsSheet.getPhysicalNumberOfRows ();
for (int = 2 R & lt; r <rows; r ++) { // begin reading from the second row
row row;
IF (. "XLSX" .equalsIgnoreCase (Hz) || ".xlsx" == Hz) {
row = (XSSFRow) tcsSheet.getRow (R & lt );
} {the else
row = (HSSFRow) tcsSheet.getRow (r);
}
// 0 r-th row of cells
String cell0=getCellValueToString(row.getCell(0));
//第r行第1个单元格
String cell1=getCellValueToString(row.getCell(1));
}
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if (null != workBook) {
workBook.close();
}
if (fis != null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 获取列值
*
* @param cell
* @return
*/
private String getCellValueToString(Cell cell) {
String value = StringUtils.EMPTY;
if(null==cell)
return value;
cell.setCellType(CellType.STRING);
value = cell.getStringCellValue();
return value;
}
Reproduced in: https: //www.cnblogs.com/lch1990/p/11044061.html