栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java解析excel文件的方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java解析excel文件的方法

建立工程前需要导入POI包。POI相关jar包下载地址:http://poi.apache.org/download.html

1.解析.xlsx后缀名的的EXCEL文件:

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: // 数字  
     System.out.print(cell.getNumericCellValue()  
  + "t");  
     break;  
   case HSSFCell.CELL_TYPE_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: // 公式  
     System.out.print(cell.getCellFormula() + "t");  
     break;  
   case HSSFCell.CELL_TYPE_BLANK: // 空值  
     System.out.println(" ");  
     break;  
   case HSSFCell.CELL_TYPE_ERROR: // 故障  
     System.out.println(" ");  
     break;  
   default:  
     System.out.print("未知类型  ");  
     break;  
 }  
  
      }  
      System.out.print("n");  
    }  
  }  
}  
 
  

2.解析后缀为.xls的EXCEL文件:

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: // 数字  
    System.out.print(cell.getNumericCellValue()  
  + "  ");  
     break;  
   case HSSFCell.CELL_TYPE_STRING: // 字符串  
     System.out.print(cell.getStringCellValue()  
  + "  ");  
     break;  
   case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean  
     System.out.println(cell.getBooleanCellValue()  
  + "  ");  
     break;  
   case HSSFCell.CELL_TYPE_FORMULA: // 公式  
     System.out.print(cell.getCellFormula() + "  ");  
     break;  
   case HSSFCell.CELL_TYPE_BLANK: // 空值  
     System.out.println(" ");  
     break;  
   case HSSFCell.CELL_TYPE_ERROR: // 故障  
     System.out.println(" ");  
     break;  
   default:  
     System.out.print("未知类型  ");  
     break;  
 }  
  
      }  
      System.out.print("n");  
    }  
  }  
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/147845.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号