使用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
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
