layui + java poi导出

前端发送请求:
window.location.href= config.base_server + “troutProve/ee?gida=”+aa+"&Authorization=" + config.getToken().access_token;

/**
 * poi 批量导出excel
 * @return
 */

@GetMapping("/ee")
public void Ee(String gida, HttpServletResponse response) throws IOException { //response 给前端显示
List a = null;

String[] gid = gida.split(",");

a= troutProveService.poi(gid);

HSSFWorkbook workbook = new HSSFWorkbook();
//2.2创建一个标签页
HSSFSheet sheet = workbook.createSheet("cesh");
//指定合并单元格

// CellRangeAddress cra=new CellRangeAddress(0, 2, 3, 6);
//在sheet里增加合并单元格
// sheet.addMergedRegion(cra);

//2.3创建标题行
HSSFRow headRow = sheet.createRow(0);
headRow.createCell(0).setCellValue("公司");
headRow.createCell(1).setCellValue("批号");
headRow.createCell(2).setCellValue("签证时间");
headRow.createCell(3).setCellValue("发送方式");
headRow.createCell(4).setCellValue("邮寄类型");
headRow.createCell(5).setCellValue("邮寄时间");
headRow.createCell(6).setCellValue("原料");
headRow.createCell(7).setCellValue("出口成品");
headRow.createCell(8).setCellValue("办证费用");
headRow.createCell(9).setCellValue("邮寄费用");
headRow.createCell(10).setCellValue("邮寄次数");
headRow.createCell(11).setCellValue("备注");

sheet.setColumnWidth(0,17*256); //设置sheet标签页列宽
sheet.setColumnWidth(2,17*256);
sheet.setColumnWidth(3,13*256);
sheet.setColumnWidth(4,13*256);
sheet.setColumnWidth(6,10*256);
sheet.setColumnWidth(7,10*256);
sheet.setColumnWidth(8,10*256);
sheet.setColumnWidth(9,10*256);
sheet.setColumnWidth(5,17*256);
sheet.setColumnWidth(10,17*256);
sheet.setColumnWidth(11,50*256);

/**

  • 给表格填写数据
    */

    for (int i = 0; i < a.size(); i++) {
    int di=1;
    HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum()+di); //创建一行,每条数据+1行

     dataRow.setHeight((short) (17*20));//设置行高
    
     if (i<a.size()-1){
         if (a.get(i+1).getCpName().equals(a.get(i).getCpName())&&(i<a.size()-1)){
             dataRow.createCell(0).setCellValue("");
         }
     }
    
    
     if (a.get(i).getCpName() == null) {
         dataRow.createCell(0).setCellValue("");
     }else{
     dataRow.createCell(0).setCellValue(a.get(i).getCpName());
     }
    
     if (a.get(i).getBatchNumber() == null) {
         dataRow.createCell(1).setCellValue("");
     }else{
     dataRow.createCell(1).setCellValue(a.get(i).getBatchNumber());
     }
    
     if (a.get(i).getCertificateTime() == null) {
         dataRow.createCell(2).setCellValue("");
     }else{
     dataRow.createCell(2).setCellValue(a.get(i).getCertificateTime());
     }
    
     if (a.get(i).getSendType() == null) {
         dataRow.createCell(3).setCellValue("");
    
     }else{
     dataRow.createCell(3).setCellValue(a.get(i).getSendType());
     }
    
     if (a.get(i).getMailType() == null) {
         dataRow.createCell(4).setCellValue("");
     }else {
     dataRow.createCell(4).setCellValue(a.get(i).getMailType());
     }
    
     if (a.get(i).getMailTime() == null) {
         dataRow.createCell(5).setCellValue("");
    
     }else{
     dataRow.createCell(5).setCellValue(a.get(i).getMailTime());
     }
    
     if (a.get(i).getRawMaterial() == 0) {
         dataRow.createCell(6).setCellValue(0);
     }else{
     dataRow.createCell(6).setCellValue(a.get(i).getRawMaterial());
     }
    
     if (a.get(i).getExitAccomplish() == 0) {
         dataRow.createCell(7).setCellValue(0);
     }else{
     dataRow.createCell(7).setCellValue(a.get(i).getExitAccomplish());
     }
    
     if (a.get(i).getCost() == null) {
         dataRow.createCell(8).setCellValue("");
     }else {
     dataRow.createCell(8).setCellValue(a.get(i).getCost());
     }
    
     if (a.get(i).getMailPrice() == 0) {
         dataRow.createCell(9).setCellValue(0);
     }else{
     dataRow.createCell(9).setCellValue(a.get(i).getMailPrice());
     }
    
     if (a.get(i).getMailNum() == 0) {
         dataRow.createCell(10).setCellValue(0);
     }else{
     dataRow.createCell(10).setCellValue(a.get(i).getMailNum());
     }
    
     if (a.get(i).getRemark() == null) {
         dataRow.createCell(11).setCellValue("");
     }else{
     dataRow.createCell(11).setCellValue(a.get(i).getRemark());
     }
    

    }
    String filename = “”;

try {

Date d = new Date();
long timeStemp = d.getTime(); //转换时间戳


//3.输出流进行文件下载
filename = "分区信息表.xls";

File file = new File(filename);
FileOutputStream file1 = new FileOutputStream(file);
workbook.write(file1);
file1.close();
//直接获取输出,直接输出excel(优先使用)
OutputStream output=response.getOutputStream();
response.reset();
response.setHeader("Content-Disposition", "attachment;filename="
        .concat(String.valueOf(URLEncoder.encode(filename, "UTF-8"))));
response.setContentType("application/msexcel");
workbook.write(output);
output.close();

}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

File fileDelete = new File(filename);
if (fileDelete.exists()&&fileDelete.isFile()){
    fileDelete.delete();
}

/* Date d = new Date();
long timeStemp = d.getTime(); //转换时间戳

String outPath =timeStemp+filename;

OutputStream os = null;
InputStream fin = null;


try {
     os =new FileOutputStream(outPath);
} catch (FileNotFoundException e) {
    e.printStackTrace();
}*/


/*    //设置头信息
    OutputStream os = null;
    try {
        //根据路径创建输出流
        //如果是在controller里可以使用reponse.getOutputStream()方法获取输出流
        os = new FileOutputStream(outPath);
        workbook.write(os);
    } catch (Exception e) {
        System.out.println("导出出错");
        e.printStackTrace();
    }finally {
        try {
            if (os != null) {
                os.close();
            }
            workbook.close();
        } catch (Exception e) {
            System.out.println("workbook 流关闭失败");
        }
    }

*/

// String fileName = “鲑鱼.xls”;

/* try {
File file = new File(outPath);
FileOutputStream file1 = new FileOutputStream(file);
workbook.write(file1);
file1.close();

    OutputStream out = response.getOutputStream();
    response.reset();
    response.setHeader("Content-Disposition", "attachment;filename="
            .concat(String.valueOf(URLEncoder.encode(outPath, "UTF-8"))));
    response.setContentType("application/msexcel;charset=UTF-8");

    workbook.write(out);
    out.flush();
    out.close();

    //删除文件
    File fileDelete = new File(outPath);
    if (fileDelete.exists()&&fileDelete.isFile()){
        fileDelete.delete();
    }


} catch (FileNotFoundException e) {
    JOptionPane.showMessageDialog(null, "导出失败!");
    e.printStackTrace();
} catch (IOException e) {
    JOptionPane.showMessageDialog(null, "导出失败!");
    e.printStackTrace();
}

*/

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值