EXCEL模板导出

 自己总结的excel空模板导出

1.ExcelUtil

这里没有设置任何的样式

public class ExcelUtil {

        /**
         * 导出Excel
         * @param sheetName sheet名称
         * @param title 标题
         * @param hsswb HSSFWorkbook对象
         * @return
         */
        public static HSSFWorkbook getHSSFWorkbook(String sheetName, String []title,  HSSFWorkbook hsswb){
            //创建一个HSSFWorkbook,对应一个Excel文件
            if(hsswb== null){
                hsswb = new HSSFWorkbook();
            }
            //在workbook中添加一个sheet,对应Excel文件中的sheet
            HSSFSheet sheet = hsswb.createSheet(sheetName);
            //声明行  设置行的起始位置
            HSSFRow row = sheet.createRow(0);         
            //声明列
            HSSFCell cell = null;
             /**
             * 创建标题
             * 1.cell是根据title的长度来决定的,输出自己需要展示的表头
             */
            for(int i=0;i<title.length;i++){
                cell = row.createCell(i);
                cell.setCellValue(title[i]);
            }
         
            return hsswb;
        }

}

 2.在controller层

@Controller
@RequestMapping(value = "/excel")
public class DownExcelController {

    /**
     * 导出excel空的模板(只有要展示的表头)
     * @return
     */

    @RequestMapping(value = "/downexcel")
    @ResponseBody
    public void export( HttpServletResponse response) throws Exception {
        //excel这里title根据自己的需求设置
        String[]  title = {"字段1","字段2","字段3","字段4"};

        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        // 这里URLEncoder.encode可以防止中文乱码
        //excel文件名
        String fileName = URLEncoder.encode("excel模板", "UTF-8");
        //这里的xls和xlsx都支持
        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xls");
        //sheet名
        String sheetName = "sheet1";
        //创建HSSFWorkbook  调用excel工具将 sheet名和表头传过去
        HSSFWorkbook hsswb= ExcelUtil.getHSSFWorkbook(sheetName, title, null);
        //前端响应
            try {
                OutputStream os = response.getOutputStream();
                //将处理好的数据写到hsswb中
                hsswb.write(os);
                os.flush();
                os.close();
                } catch (Exception e) {
                e.printStackTrace();
                }
            }

}

 3.前端

<button type="button" class="layui-btn layui-btn-sm" id="excelDown">导出Excel</button>
//触发跳转 
$('#excelDown').click(function(){
            window.location.href="/excel/downexcel";
        });

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值