java poi 读取03、07excel表格的内容_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java poi 读取03、07excel表格的内容

java poi 读取03、07excel表格的内容

 2013/12/6 18:26:13  witchlovelearning  程序员俱乐部  我要评论(0)
  • 摘要:jar包下载http://witchlovelearning.iteye.com/blog/1986284附件为源码importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.ArrayList;importjava.util.List;importorg.apache.poi.hssf.usermodel
  • 标签:excel Java 内容 表格
jar包下载  http://witchlovelearning.iteye.com/blog/1986284
附件为源码


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

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.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 DataFromExcel {

/**
* @param filePath excel文件存储名称及路径  例:"E:\\person.xls" 或 "E:\\person.xlsx"
*/


private static List<List<String>> read2003Excel(String filePath) { 
        File excelFile = null;
        InputStream inputs = null;
        String cellStr = null;// 单元格,最终按字符串处理 
        List<List<String>> sList = new ArrayList<List<String>>();// 返回封装数据的List 
      
        try { 
            excelFile = new File(filePath);
            if(!excelFile.exists()){
            System.out.println("文件不存在") ;
            }
            else{
            inputs = new FileInputStream(excelFile);
                HSSFWorkbook wb = new HSSFWorkbook(inputs);
                HSSFSheet sheet = wb.getSheetAt(0);
                // 开始循环遍历行,表头不处理,从1开始 
                for (int i = 1; i <= sheet.getLastRowNum(); i++) { 
                    HSSFRow row = sheet.getRow(i);
                    if (row == null) {
                        continue
                    }
                    // 循环遍历单元格 
                    List<String> rowStr = new ArrayList<String>(); //每行的值组成的list
                    for (int j = 1; j < row.getLastCellNum(); j++) {  //不读入序号
                        HSSFCell cell = row.getCell(j);// 获取单元格对象 
                        if (cell == null) {
                            cellStr = ""; 
                        } else if (cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) {// 对布尔值的处理 
                            cellStr = String.valueOf(cell.getBooleanCellValue()); 
                        } else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {// 对数字值的处理 
                            cellStr = cell.getNumericCellValue() + ""; 
                        } else if (cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {// 对公式的处理 
                        cellStr = cell.getCellFormula();
                        }else {// 其余按照字符串处理 
                            cellStr = cell.getStringCellValue(); 
                        } 
                        rowStr.add(cellStr);
                    } 
                    if("".equals(row.getCell(0)) || row.getCell(0) == null)
                    break;
                    else
                        sList.add(rowStr);// 数据装入List 
                }  }
        } catch (IOException e) { 
        e.printStackTrace(); 
        } finally {// 关闭文件流 
            if (inputs != null) { 
                try { 
                inputs.close(); 
                } catch (IOException e) { 
                    e.printStackTrace(); 
                } 
            } 
        } 
        return sList; 
    } 

private static List<List<String>> read2007Excel(String filePath) { 
File excelFile = null;
        InputStream inputs = null;
        String cellStr = null;
        List<List<String>> sList = new ArrayList<List<String>>();
      
        try { 
            excelFile = new File(filePath);
            if(!excelFile.exists()){
            System.out.println("文件不存在") ;
            }
            else{
            inputs = new FileInputStream(excelFile);
            XSSFWorkbook wb = new XSSFWorkbook(inputs);// 创建Excel2007文件对象 
            XSSFSheet sheet = wb.getSheetAt(0);
           
                // 开始循环遍历行,表头不处理,从1开始 
                for (int i = 1; i < sheet.getLastRowNum(); i++) { 
                XSSFRow row = sheet.getRow(i);
                    if (row == null) {
                        continue; 
                    } 
                    // 循环遍历单元格 
                    List<String> rowStr = new ArrayList<String>();
                    for (int j = 1; j < row.getLastCellNum(); j++) {  //不读入序号
                    XSSFCell cell = row.getCell(j);// 获取单元格对象 
                        if (cell == null) {// 单元格为空设置cellStr为空串 
                            cellStr = ""; 
                        } else if (cell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN) {// 对布尔值的处理 
                            cellStr = String.valueOf(cell.getBooleanCellValue()); 
                        } else if (cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) {// 对数字值的处理 
                            cellStr = cell.getNumericCellValue() + ""; 
                        } else if (cell.getCellType() == XSSFCell.CELL_TYPE_FORMULA) {// 对公式的处理 
                           cellStr = cell.getCellFormula();
                        } else {// 其余按照字符串处理 
                            cellStr = cell.getStringCellValue(); 
                        } 
                        rowStr.add(cellStr);
                    }
                    if("".equals(row.getCell(0)) || row.getCell(0) == null)
                    break;
                    else
                        sList.add(rowStr);// 数据装入List 
                } 
            }
        } catch (IOException e) { 
        e.printStackTrace(); 
        } finally {// 关闭文件流 
            if (inputs != null) { 
                try { 
                inputs.close(); 
                } catch (IOException e) { 
                    e.printStackTrace(); 
                } 
            } 
        } 
        return sList;
       } 

public static void main(String[] args) {

        List<List<String>> lists = read2007Excel("E:\\readtests.xlsx"); 
//        List<List<String>> lists = read2003Excel("E:\\readtest.xls");
        for (List<String> ls : lists) { 
        for (String s : ls) {
        System.out.print(s+"-"); 
        }
        System.out.print("\n");
        } 
}

}


  • DataFromExcel.rar (1.5 KB)
  • 下载次数: 0
发表评论
用户名: 匿名