Java 读取Excel格式xls、xlsx数据工具类

 

//新增一行就累加  
    public static void saveFile(String[] s,String[] h,String sql, File file) {  
        int count = 0;
        // 创建工作薄  
        HSSFWorkbook hssfWorkbook = new HSSFWorkbook();  
        // sheet:一张表的简称  
        // row:表里的行  
        // 创建工作薄中的工作表  x`
        HSSFSheet hssfSheet = hssfWorkbook.createSheet("信息列表");  
        // 创建行  
        HSSFRow row = hssfSheet.createRow(0);  
        // 创建单元格,设置表头 创建列  
        HSSFCell cell = null;  
        //便利表头  
        for (int i = 0; i < s.length; i++) {  
            //创建传入进来的表头的个数  
            cell = row.createCell(i);  
            //表头的值就是传入进来的值  
            cell.setCellValue(h[i]);  
 
        }  
        //新增一个行就累加  
        //row = hssfSheet.createRow(++count);  
        // 得到所有记录 行:列  
        List<Record> list = Db.find(sql.toString());
        Record record = null;  
 
        if (list != null) {  
            //获取所有的记录 有多少条记录就创建多少行  
            for (int i = 0; i < list.size(); i++) {  
                row = hssfSheet.createRow(++count);  
                // 得到所有的行 一个record就代表 一行  
                record = list.get(i);  
                //在有所有的记录基础之上,便利传入进来的表头,再创建N行  
                for (int j = 0; j < s.length; j++) {  
                    cell = row.createCell(j);  
                    if(s[j]=="morning_rate"||s[j]=="afternoon_rate"||s[j]=="today_rate"){
                        //把每一行的记录再次添加到表头下面 如果为空就为 "" 否则就为值  
                       cell.setCellValue(record.get(s[j])==null?"0%":record.get(s[j]).toString()+"%");  
                   }else if(s[j]=="daily_img"||s[j]=="weekly_img"||s[j]=="monthly_left_img"||s[j]=="monthly_right_img"||s[j]=="write_report_img_left"||s[j]=="write_report_img_right"||s[j]=="avtivity_img"||s[j]=="story_img"||s[j]=="write_img"||s[j]=="daily_img"||s[j]=="daily_img"||s[j]=="daily_img"||s[j]=="daily_img"){
                        if(record.get(s[j])==null||record.get(s[j]).equals("")){
                            cell.setCellValue("");  
                        }else{
                            BosUtils.run();
                            String url = BosUtils.generatePresignedUrl(record.get(s[j]).toString());
                            String bosUrl=url.substring(0,url.lastIndexOf("?"));
                            cell.setCellValue(bosUrl);  

                        }
                        
                   }else{
                       cell.setCellValue(record.get(s[j])==null?"":record.get(s[j]).toString());  

                   }
                }  
            }  
        }  
        try {  
            FileOutputStream fileOutputStreane = new FileOutputStream(file);  
            hssfWorkbook.write(fileOutputStreane);  
            fileOutputStreane.flush();  
            fileOutputStreane.close();  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }
    
   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值