java poi读取excel表格数据

本文详细介绍了如何使用Java的POI库来读取Excel表格数据,包括初始化Workbook,读取表头,获取行数据,以及处理单元格的各种类型数据。还涉及到图片的读取和保存。
package com.tl.web.signup.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Random;

import org.apache.poi.ss.usermodel.PictureData;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.NumberToTextConverter;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**liuaixiang
 * 读取Excel表格的数据功能类
 */
public class ExcelReaderUtil {

    private Workbook wb;
    private Sheet sheet;
    private int rowNum;
    private int colNum;
    private String dateFormat;//日期格式化参数
    private static int EXCELL_2003 = 2003;
    private static int EXCELL_2007 = 2007;
    private ArrayList<PictureData> pictures;//所有图片
    private String basePath;//图片保存路径            有图片必须设置该值
    private String projectName;//项目工程名称  有图片必须设置该值
    private SimpleDateFormat picBaseName = new SimpleDateFormat("yyyyMMddHHmmss");
    /**
     * 根据文件的路径进行初始化
     * @param filePath 文件的路径
     * @throws IOException
     */
    public void initByPath(String filePath) throws IOException{
         InputStream stream= new FileInputStream(new File(filePath));
         if(getExcellVersion(filePath)==EXCELL_2003){
             this.wb=new HSSFWorkbook(stream);
         }else if (getExcellVersion(filePath)==EXCELL_2007) {
        	 this.wb=new XSSFWorkbook(stream);
         }
       pictures=(ArrayList<PictureData>)this.wb.getAllPictures();
       stream.close();  
       this.sheet = wb.getSheetAt(0);
       this.rowNum = sheet.getLastRowNum();
       this.colNum = sheet.getRow(0).getPhysicalNumberOfCells();
    }
    
    /**
     * 根据输入流和文件的名称来初始化
     * @param stream
     * @param fileName 文件的名称  必须包含文件的后缀名称
     * @throws IOException
     */
    public void ini
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值