二 Java之POI导出Excel:多个sheet( 三 )

3.controller层
controller层的代码需要注意的是:
1.因为导出Excel一般都是通过浏览器进行下载的,所以入参中需要加入HttpServletResponse
2.调用封装的工具类ExportSheetUtil中的exportManySheetExcel方法就可以了
3.表头和表名需要各位根据自身的业务场景修改哈

查看代码     /**     * 导出开票和运单信息     */    @Log    @PostMapping("/exportInvoiceAndBillInfo")    public void exportInvoiceAndBillInfo(@RequestBody InvoiceReviewListDto dto, HttpServletResponse response) {        ExportInvoiceAndBillVo invoiceAndBillVo = invoiceFacadeService.exportInvoiceAndBillInfo(dto);        //设置sheet的表头与表名        String[] invoiceSheetHead = {"开票编号", "票号", "公司名称", "收票方名称", "结算类型", "纳税识别码", "收票联系人", "联系人电话", "运单总金额(元)", "含税总金额(元)", "开票状态", "提交开票时间", "运营审核时间", "运营审核人", "财务审核时间", "财务审核人", "开票完成时间", "冲销操作人", "冲销时间"};        String[] billSheetHead = {"开票编号", "运单号", "发货地", "收货地", "司机", "司机电话", "货物名称", "货物数量", "单位", "货物重量(吨)", "运单状态", "运单金额(元)", "含税金额(元)"};        ExcelSheet invoiceExcel = new ExcelSheet("开票信息", invoiceSheetHead, invoiceAndBillVo.getInvoiceList());        ExcelSheet billExcel = new ExcelSheet("运单信息", billSheetHead, invoiceAndBillVo.getBillList());        List<ExcelSheet> mysheet = new ArrayList<>();        mysheet.add(invoiceExcel);        mysheet.add(billExcel);        ExportSheetUtil.exportManySheetExcel("开票及运单信息", mysheet, response);    }
最终导出的Excel文件:
二 Java之POI导出Excel:多个sheet

文章插图

二 Java之POI导出Excel:多个sheet

文章插图

经验总结扩展阅读