java导出多个sheet的excel

public void  selectCountExcel(HttpServletResponse response) {
        try {
            ServletOutputStream outputStream = response.getOutputStream();
            response.setContentType("xls/xlsx");
            response.setCharacterEncoding("utf-8");
            String a = "发送总量统计";
            response.setHeader("Content-Disposition", "attachment;fileName="+new String(a.getBytes("gb2312"), "ISO8859-1")+".xls");

            List> data1 = new ArrayList>();
            List> data2 = new ArrayList>();
            List> data3 = new ArrayList>();
            for (int i = 1; i < 5; i++) {
                List rowData = new ArrayList();
                rowData.add(String.valueOf(i));
                rowData.add("上海东霖柏鸿");
                data1.add(rowData);
            }
            for (int i = 1; i < 5; i++) {
                List rowData = new ArrayList();
                rowData.add(String.valueOf(i));
                rowData.add("深圳东霖柏鸿");
                data2.add(rowData);
            }
            for (int i = 1; i < 5; i++) {
                List rowData = new ArrayList();
                rowData.add(String.valueOf(i));
                rowData.add("广州东霖柏鸿");
                data3.add(rowData);
            }
            String[] headers1 = { "ID1", "用户名1" };
            String[] headers2 = { "ID2", "用户名2" };
            String[] headers3 = { "ID3", "用户名3" };
            ExportExcelUtilsTest eeu = new ExportExcelUtilsTest();//工具类写法在下面
            HSSFWorkbook workbook = new HSSFWorkbook();
            eeu.exportExcel(workbook, 0, "上海", headers1, data1, outputStream);
            eeu.exportExcel(workbook, 1, "深圳", headers2, data2, outputStream);
            eeu.exportExcel(workbook, 2, "广州", headers3, data3, outputStream);
//原理就是将所有的数据一起写入,然后再关闭输入流。
            workbook.write(outputStream);
            outputStream.close();
        }catch (Exception e){
            e.printStackTrace();
        }

 

你可能感兴趣的:(excel导入导出)