JAVA读取Excel文件

来源:互联网 发布:网络上桂枝什么意思 编辑:程序博客网 时间:2024/05/29 08:32

返回一个二维数组

package com.oa.util;import java.io.FileInputStream;import java.util.ArrayList;import java.util.List;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import com.oa.util.OA_Config;public class OA_Excel {    private OA_Config cf = new OA_Config();    private Object[][] result;    public Object[][] get_excel_value(String table_name,String sheet_name){        try{            String table_path = cf.get_src_path(table_name);            FileInputStream inputStream = new FileInputStream(table_path);            Workbook workbook = null;            String extension_name = table_name.substring(table_name.indexOf("."));            if(extension_name.equals(".xls")){                workbook = new HSSFWorkbook(inputStream);            }            else if(extension_name.equals(".xlsx")){                workbook = new XSSFWorkbook(inputStream);            }            Sheet sheet = (Sheet) workbook.getSheet(sheet_name);            int rowCount = sheet.getLastRowNum()-sheet.getFirstRowNum();            List<Object[]> records = new ArrayList<Object[]>();            for(int i=0;i<rowCount;i++){                Row row = sheet.getRow(i);                String fileds[] = new String[row.getLastCellNum()];                for(int j=0;j<row.getLastCellNum();j++){                    row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);                    fileds[j] = row.getCell(j).getStringCellValue();                }                records.add(fileds);            }            result = new Object[records.size()][];            for(int k=0;k<records.size();k++){                result[k] = records.get(k);            }        }        catch(Exception e){            System.out.println(e);        }        return result;    }}
2 0
原创粉丝点击