transformMultipleSheetsList--多sheet Excel模板导出

这篇博客介绍了一个Java程序,用于导出包含多个sheet的Excel文件,如学生成绩表,分别命名为'学生a'和'学生b'。程序通过读取模板Excel,结合数据源动态生成含有不同数据的多个sheet,并提供了详细的方法解释和参数说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:导出学生成绩表-含学生a 学生b两个sheet

1.//构造sheet中所需数据、sheet名--action中实现

private String templateFileName;//导出用的Excel模板名字,即我们定义的模板Excel名字

private String exportFileName;//导出时显示给客户端的Excel名字,即浏览器显示的Excel名字

public String exportMultiSheetExcel(){

          this.exportFileName = "学生成绩表.xlsx";

          this.templateFileName="StudentScore.xlsx";

          HttpServletResponse response = ServletActionContext.getResponse();
          String realpath = ServletActionContext.getServletContext().getRealPath("/");
          FileInputStream fis = null;
          try {

                //读取路径下的Excel模板
                 fis = new FileInputStream(realpath + "/templates/excel/" + this.templateFileName);
          } catch (IOException e) {
                 e.printStackTrace();
                System.out.println("请求流获取错误,请求失败");
         }

          List<Student> student_list = new ArrayList<Student>();//数据源1

          List<Student> student_list2 = new ArrayList<Student>();//数据源2

          ArrayList<List> objects = new ArrayList<List>();//添加数据到objects中

          objects.add(student_list);

          objcects.add(student_list);

           List<String> sheetNameList = new ArrayList<String>();//sheet名字列表,和objects大小相等,几个sheet数据源就有几个                                                                                                     //sheet名字

           sheetNameList.add("学生a");

           sheetNameList.add(学生b);

           xxxService.createMultiSheetExcel(fis,response,exportFileName,sheetNameList,objects,"root",student_list2 );

}

2.//调用下载文件方法--service中实现

public void createMultiSheetExcel(FileInputStream inputStream, HttpServletResponse response, String filename, List<String> sheetNamelist,ArrayList<List> objects, String tagname,List<Student> student_list2 ){

        OutputStream out = null;
        try {
            String contentType = "application

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值