java 解析excel工具类
CreateTime--2018年3月5日16:48:08
Author:Marydon
ReadExcelUtils.java
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.log4j.Logger;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.DateUtil;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;/** * excel解析工具类 * @author Marydon * @createTime 2018年2月1日下午12:54:09 * @updateTime * @Email:Marydon20170307@163.com * @version:1.0.0 */public class ReadExcelUtils { private Logger logger = Logger.getLogger(this.getClass()); private Workbook wb; private Sheet sheet; private Row row; public ReadExcelUtils(String filepath) { if (filepath == null) { return; } String fileType = filepath.substring(filepath.lastIndexOf(".")); try { InputStream is = new FileInputStream(filepath); if (".xls".equals(fileType)) { wb = new HSSFWorkbook(is); } else if (".xlsx".equals(fileType)) { wb = new XSSFWorkbook(is); } else { wb = null; } } catch (FileNotFoundException e) { logger.error("FileNotFoundException", e); } catch (IOException e) { logger.error("IOException", e); } } /** * 读取Excel表格表头的内容 * * @param InputStream * @return String 表头内容的数组 * @author zengwendong */ public String[] readExcelTitle() throws Exception { if (wb == null) { throw new Exception("Workbook对象为空!"); } sheet = wb.getSheetAt(0); row = sheet.getRow(0); // 标题总列数 int colNum = row.getPhysicalNumberOfCells(); System.out.println("colNum:" + colNum); String[] title = new String[colNum]; for (int i = 0; i < colNum; i++) { title[i] = row.getCell(i).getCellFormula(); } return title; } /** * 读取Excel数据内容 * @description * @return 包含单元格数据内容的List对象 * @throws Exception */ public List
测试
public static void main(String[] args) { try { String filepath = "C:\\Users\\Marydon\\Desktop\\值班名单汇总 (20170714).xlsx"; ReadExcelUtils excelReader = new ReadExcelUtils(filepath); // 说明:excel的列的所代表的字段的顺序必须与list集合的字段名一致(excel的列名和list的元素名没必要相同) ListcolumnsList = new ArrayList (); columnsList.add("ORG_ID"); columnsList.add("DEPENT_ID"); columnsList.add("DEPENT_NAME"); columnsList.add("DOCTOR_ID"); columnsList.add("DOCTOR_NAME"); columnsList.add("DOCTOR_PHONE"); columnsList.add("SCHEDULE_DATE"); columnsList.add("WEEK_TXT"); columnsList.add("WB_TYPE"); columnsList.add("CLOSE_TZ"); columnsList.add("REPLACE_TZ"); columnsList.add("DOCTOR_ID_TZ"); columnsList.add("DOCTOR_NAME_TZ"); columnsList.add("REMARK"); // 对读取Excel表格内容测试 List list = excelReader.readExcelContent(columnsList); System.out.println("获得Excel表格的内容:"); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } catch (FileNotFoundException e) { System.out.println("未找到指定路径的文件!"); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); }}
前端+后台完整版,请移步至文章: