java how to parse excel files

  • 2020-06-03 06:24:15
  • OfStack

The POI package needs to be imported before the project is set up. POI related jar package download address: http: / / poi apache. org/download html

1. Parse the EXCEL file with the suffix.xlsx:


package com.shuai.hello;  
  
import java.io.FileInputStream;  
import java.io.IOException;  
import java.io.InputStream;  
  
import org.apache.poi.hssf.usermodel.HSSFCell;  
import org.apache.poi.xssf.usermodel.XSSFCell;  
import org.apache.poi.xssf.usermodel.XSSFRow;  
import org.apache.poi.xssf.usermodel.XSSFSheet;  
import org.apache.poi.xssf.usermodel.XSSFWorkbook;  
  
public class ReadExcel {  
  public static void main(String[] args) throws IOException {  
      
    //File file = new File("C:/Users.xlsx");  
    InputStream stream = new FileInputStream("C:/Users.xlsx");  
  
    XSSFWorkbook xssfWorkbook = new XSSFWorkbook(stream);  
    XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);  
  
    int rowstart = xssfSheet.getFirstRowNum();  
    int rowEnd = xssfSheet.getLastRowNum();  
    for(int i=rowstart;i<=rowEnd;i++)  
    {  
      XSSFRow row = xssfSheet.getRow(i);  
      if(null == row) continue;  
      int cellStart = row.getFirstCellNum();  
      int cellEnd = row.getLastCellNum();  
  
      for(int k=cellStart;k<=cellEnd;k++)  
      {  
        XSSFCell cell = row.getCell(k);  
        if(null==cell) continue;  
  
  
        switch (cell.getCellType())  
        {  
          case HSSFCell.CELL_TYPE_NUMERIC: //  digital   
            System.out.print(cell.getNumericCellValue()  
                + "\t");  
            break;  
          case HSSFCell.CELL_TYPE_STRING: //  string   
            System.out.print(cell.getStringCellValue()  
                + "\t");  
            break;  
          case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean  
            System.out.println(cell.getBooleanCellValue()  
                + "\t");  
            break;  
          case HSSFCell.CELL_TYPE_FORMULA: //  The formula   
            System.out.print(cell.getCellFormula() + "\t");  
            break;  
          case HSSFCell.CELL_TYPE_BLANK: //  A null value   
            System.out.println(" ");  
            break;  
          case HSSFCell.CELL_TYPE_ERROR: //  The fault   
            System.out.println(" ");  
            break;  
          default:  
            System.out.print(" Unknown type   ");  
            break;  
        }  
  
      }  
      System.out.print("\n");  
    }  
  }  
}  
 
/*String fileType = filePath.substring(filePath.lastIndexOf(".") + 1, filePath.length()); 
InputStream stream = new FileInputStream(filePath); 
Workbook wb = null; 
if (fileType.equals("xls")) { 
 wb = new HSSFWorkbook(stream); 
} else if (fileType.equals("xlsx")) { 
 wb = new XSSFWorkbook(stream); 
} else { 
 System.out.println(" You enter the excel Incorrect format "); 
}*/  

2. Resolve EXCEL file with.xls:


package com.shuai.hello;  
  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.IOException;  
  
import org.apache.poi.hssf.usermodel.HSSFCell;  
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.poifs.filesystem.POIFSFileSystem;  
  
public class ReadXls {  
  public static void main(String[] args) throws IOException, IOException {  
    File file = new File("C:/Users/dengta/Desktop/ok1.xls");  
    POIFSFileSystem poifsFileSystem = new POIFSFileSystem(new FileInputStream(file));  
    HSSFWorkbook hssfWorkbook = new HSSFWorkbook(poifsFileSystem);  
    HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0);  
  
    int rowstart = hssfSheet.getFirstRowNum();  
    int rowEnd = hssfSheet.getLastRowNum();  
    for(int i=rowstart;i<=rowEnd;i++)  
    {  
      HSSFRow row = hssfSheet.getRow(i);  
      if(null == row) continue;  
      int cellStart = row.getFirstCellNum();  
      int cellEnd = row.getLastCellNum();  
  
      for(int k=cellStart;k<=cellEnd;k++)  
      {  
        HSSFCell cell = row.getCell(k);  
        if(null==cell) continue;  
        //System.out.print("" + k + " ");  
        //System.out.print("type:"+cell.getCellType());  
  
        switch (cell.getCellType())  
        {  
          case HSSFCell.CELL_TYPE_NUMERIC: //  digital   
                  System.out.print(cell.getNumericCellValue()  
                + "  ");  
            break;  
          case HSSFCell.CELL_TYPE_STRING: //  string   
            System.out.print(cell.getStringCellValue()  
                + "  ");  
            break;  
          case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean  
            System.out.println(cell.getBooleanCellValue()  
                + "  ");  
            break;  
          case HSSFCell.CELL_TYPE_FORMULA: //  The formula   
            System.out.print(cell.getCellFormula() + "  ");  
            break;  
          case HSSFCell.CELL_TYPE_BLANK: //  A null value   
            System.out.println(" ");  
            break;  
          case HSSFCell.CELL_TYPE_ERROR: //  The fault   
            System.out.println(" ");  
            break;  
          default:  
            System.out.print(" Unknown type   ");  
            break;  
        }  
  
      }  
      System.out.print("\n");  
    }  
  }  
} 

Related articles: