JAVA读取Excel文件

返回一个二维数组

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;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值