java 多sheet导入导出

首先导入


public void personUpload(MultipartFile file) {
        try {
            //file从前端传过来的 直接接收  或者自己读取一个InputStream
            Workbook wb = new XSSFWorkbook(file.getInputStream());


            //获取第0个sheet  下标从0开始
            Sheet sheet1 = wb.getSheetAt(0);
            for (int i = 1;i<= sheet1.getLastRowNum(); i++) {
                //获取第i行数据   下标从0开始   这里i从1开始是因为第0行为字段名 不需要
                Row r = sheet1.getRow(i);
                //设置第i行的第0列为String类型  不然可能是数字类型
                if(r.getCell(0)!=null){
                    r.getCell(0).setCellType(Cell.CELL_TYPE_STRING);
                }
                String personID = r.getCell(0).getStringCellValue();
                String personName = r.getCell(1).getStringCellValue();
                Map param = new HashMap();
                param.put("personName",personName );
                param.put("personID",personID );
                updateOnePerson(param);
            }

            //获取第1个sheet
            Sheet sheet2 = wb.getSheetAt(1);
            List<TaskMessage> list = new ArrayList<>();
            for (int i = 1;i<= sheet2.getLastRowNum(); i++) {
                
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

然后导出
 

public void getDownLoad(HttpServletRequest request, HttpServletResponse response,String PERSONID) {
        List<String[]> head0s = new ArrayList<>();
        List<String[]> headCodes = new ArrayList<>();
        List<List<Map>> deviceList = new ArrayList<>();
        
        String[] sheets = new String[2];
        //sheet名字
        sheets[0] = "个人信息";
        sheets[1] = "任务情况";
        //表头1
        String[] head01 = {"人员ID","姓名", "性别","单位"};
        //表头对应的字段名1
        String[] headCode1 = {"PERSONID", "PERSONNAME", "GENDER","ORGFULLNAME"};
        //数据  map的key必须和headCode1的一致
        List<Map> person = mapper.getDownLoad(PERSONID);


        //表头2
        String[] head02 = {"人员id", "任
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值