1.几个javaBean的定义
因为javabean比较简单 这里就不详细写了,get set和构造方法自己定义
public class Excel {
private String fileName;
private String suffix;
private String type;
private List<SheetBean> sheets;
//get set
//Constructor
}
public class SheetBean {
private String sheetName;
private List<RowData> data;
private Headers headers;
//get set
//Constructor
}
public class Headers {
//有合并列的时候用到
private Map<String,List<String>> allColumns;
//所有的主要的列,如果有合并列,则代表最下面那一行的列,eg:第一行有合并列,那么columns代表第二行的所有列
private List<String> columns;
}
public class RowData {
private int rowIndex;
private int columns;
private Map<String,Object> data;
private Map<String,CellBean> cells;
}
public class CellBean {
private int colIndex;
private String colName;
private Object value;
private String type;
private int width;
private int colSpan;
private int rowSpan;
}
EXCEL解析
poi jar包版本是3.17的
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xssf.eventusermodel.ReadOnlySharedStringsTable;
import org.apache.poi.xssf.eventusermodel.XSSFReader;
import org.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler;
import org.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler.SheetContentsHandler;
import org.apache.poi.xssf.model.StylesTable;
import org.apache.poi.xssf.usermodel.X