java parsing excel for String Value

 

// 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

Guess you like

Origin blog.csdn.net/weixin_34228387/article/details/93615178