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 initByStream(InputStream stream,String fileName) throws IOException{
//InputStre
java poi读取excel表格数据
最新推荐文章于 2024-01-10 10:47:46 发布