当前位置 : 主页 > 编程语言 > java >

POI读取EXCEL文档并解析

来源:互联网 收集:自由互联 发布时间:2021-06-28
使用POI读取Excel文档并解析 import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import org.apache.poi.hssf.usermo
使用POI读取Excel文档并解析
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

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;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


/**
 * @author ZCJ
 * 读取excel文档
 */
public class TestReadExcel {
	
	public static void main(String[] args){
		String path = "D:\\2345.xlsx";
		try {
			List
 
   list = readExcel(path);
			if( null != list ){
				for ( int i =0; i
  
    readExcel( String path ) throws IOException{ //如果路径文件不存在直接返回 if( null == path || "".equals(path) ){ return null; } //判断文件是否包含.包含则获取后缀名,否则直接返回 String pathFix = ""; if( path.contains(".") ){ pathFix = path.substring(path.lastIndexOf(".")+1, path.length()); } //根据不同的后缀名读取数据 if( !"".equals(pathFix) ){ //03版本excel if( "xls".equals(pathFix) ){ return readExcelFisXls( path ); } //07版本excel if( "xlsx".equals(pathFix) ){ return readExcelFixXlsx( path ); } } //获取文件后缀名,判断是哪种excel文件 return null; } /** * @param path 文档的全路径 * @return 返回解析之后的数据的集合 * @throws IOException IO异常 * @throws FileNotFoundException 文档不存在异常 */ private static List
   
     readExcelFixXlsx(String path) throws IOException { InputStream is = new FileInputStream(path); //获取文档对象 XSSFWorkbook book = new XSSFWorkbook( is ); //创建集合用于存放解析后的数据 List
    
      parseData = new ArrayList
     
      (); //遍历所有表格取出并解析 for( int i=0; i
      
        readExcelFisXls( String path ) throws IOException { //获取输入流 POIFSFileSystem poiFileIn = new POIFSFileSystem( new FileInputStream( path ) ); //获取文档对象 HSSFWorkbook book = new HSSFWorkbook( poiFileIn ); //创建集合用于存放解析后的数据 List
       
         parseData = new ArrayList
        
         (); //遍历所有表格取出并解析 for( int i=0; i
          
          
           TestReadExcel.java
           
          
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

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;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


/**
 * @author ZCJ
 * 读取excel文档
 */
public class TestReadExcel {
	
	public static void main(String[] args){
		String path = "D:\\2345.xlsx";
		try {
			List
           
             list = readExcel(path);
			if( null != list ){
				for ( int i =0; i
            
              readExcel( String path ) throws IOException{ //如果路径文件不存在直接返回 if( null == path || "".equals(path) ){ return null; } //判断文件是否包含.包含则获取后缀名,否则直接返回 String pathFix = ""; if( path.contains(".") ){ pathFix = path.substring(path.lastIndexOf(".")+1, path.length()); } //根据不同的后缀名读取数据 if( !"".equals(pathFix) ){ //03版本excel if( "xls".equals(pathFix) ){ return readExcelFisXls( path ); } //07版本excel if( "xlsx".equals(pathFix) ){ return readExcelFixXlsx( path ); } } //获取文件后缀名,判断是哪种excel文件 return null; } /** * @param path 文档的全路径 * @return 返回解析之后的数据的集合 * @throws IOException IO异常 * @throws FileNotFoundException 文档不存在异常 */ private static List
             
               readExcelFixXlsx(String path) throws IOException { InputStream is = new FileInputStream(path); //获取文档对象 XSSFWorkbook book = new XSSFWorkbook( is ); //创建集合用于存放解析后的数据 List
              
                parseData = new ArrayList
               
                (); //遍历所有表格取出并解析 for( int i=0; i
                
                  readExcelFisXls( String path ) throws IOException { //获取输入流 POIFSFileSystem poiFileIn = new POIFSFileSystem( new FileInputStream( path ) ); //获取文档对象 HSSFWorkbook book = new HSSFWorkbook( poiFileIn ); //创建集合用于存放解析后的数据 List
                 
                   parseData = new ArrayList
                  
                   (); //遍历所有表格取出并解析 for( int i=0; i
                  
                 
                
               
              
             
            
           
网友评论