java读取Excel内容添加到list集合里面去

4 篇文章 0 订阅

java读取Excel内容添加到list集合里面去

package com.changan.contract.newsign.utils;

import com.changan.contract.xqht.entity.ProcessAudit;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

@Slf4j
public class ExcelUtil {


    public static List<ProcessAudit> parseInfoFromInputFile(MultipartFile file) throws IOException {
        File tempFile = null;
        tempFile = File.createTempFile("temp", null);
        file.transferTo(tempFile);
        FileInputStream fileInput = new FileInputStream(tempFile);//创建文件输入流
        XSSFWorkbook wb = new XSSFWorkbook(fileInput);//由输入流文件得到工作簿对象
        XSSFSheet sheet = wb.getSheetAt(0);//获取第一个sheet
        int lastRowNum = sheet.getLastRowNum(); //获取表格内容的最后一行的行数
        List<ProcessAudit> respList = Lists.newArrayList();
        //rowBegin代表要开始读取的行号,下面这个循环的作用是读取每一行内容
        for (int i = 1; i <= lastRowNum; ++i) {
            ProcessAudit processAudit = new ProcessAudit();
            XSSFRow row = sheet.getRow(i);//获取每一行
            int columnNum = row.getLastCellNum();//获取每一行的最后一列的列号,即总列数
            for (int j=0; j<columnNum; ++j) {
                XSSFCell cell = row.getCell(j);//获取每个单元格
                if(j==0){
                    cell.setCellType(CellType.STRING);
                    String s0 = cell.getStringCellValue();
                    System.out.println("s0------------------>"+s0);
                    processAudit.setEmployeeNum(cell.getStringCellValue());
                }else if(j==1){
                    String s1 = cell.getStringCellValue();
                    System.out.println("s1------------------>"+s1);
                    processAudit.setEmployeeName(cell.getStringCellValue());
                }else if(j==2){
                    String s2 = cell.getStringCellValue();
                    System.out.println("s2------------------>"+s2);
                    processAudit.setNewContractDeadline(cell.getStringCellValue());
                }else if(j==3){
                    String s3 = cell.getStringCellValue();
                    System.out.println("s3------------------>"+s3);
                    //processAudit.setNewContractDeadline(cell.getStringCellValue());
                }
            }
            System.out.println("Excel循环结束!");
            respList.add(processAudit);
        }

        wb.close();
        fileInput.close();

        return respList;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值