jeesite自己写导出excel表格

java导出excel表格:

1、导入jar包

org.apache.poipoi3.5-FINAL

2、编写工具类

package utils;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;publicclass ExcelUtil {


    publicstatic HSSFWorkbook getHSSFWorkbook(String sheetName,String []title,String [][]values, HSSFWorkbook wb){

        // 第一步,创建一个webbook,对应一个Excel文件  if(wb ==null){

            wb =new HSSFWorkbook();

        }

        // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet  HSSFSheet sheet = wb.createSheet(sheetName); 

        // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short  HSSFRow row = sheet.createRow(0); 

        // 第四步,创建单元格,并设置值表头 设置表头居中  HSSFCellStyle style = wb.createCellStyle(); 

        style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式         

        HSSFCell cell =null; 

        //创建标题for(inti=0;i

            cell = row.createCell(i); 

            cell.setCellValue(title[i]); 

            cell.setCellStyle(style); 

        }

        //创建内容for(inti=0;i

            row = sheet.createRow(i + 1);

            for(intj=0;j

                row.createCell(j).setCellValue(values[i][j]);

            }

        }


      return wb;

    }



}

3、导入表格信息

package mvc.controller;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.List;import javax.annotation.Resource;import javax.servlet.http.HttpServletResponse;import mvc.model.Feedback;import mvc.model.JResponse;import mvc.model.apis.DownloadExcel;import mvc.service.IAppInfoService;import mvc.service.IBusinessService;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.prize.utils.StringUtil;import utils.ExcelUtil;

@Controller

@RequestMapping(value="/excel/*")publicclass ExcelController {


    @Resource

    private IAppInfoService appinfoService;


    @Resource

    private IBusinessService businessService;

    @RequestMapping(value = "exportfeedback")

    @ResponseBody

    public JResponse exportFeedBack(HttpServletResponse response,

            @RequestParam(value="query", required=false) String searchText,

            @RequestParam(value="type", required=false) String strType,

            @RequestParam(value="startDate", required=false) String startDate,

            @RequestParam(value="endDate", required=false) String endDate){


        String fileName = "反馈明细"+System.currentTimeMillis()+".xls";//文件名 String sheetName = "反馈明细";//sheet名       

        String []title =newString[]{"Id","导航图标","反馈类型","内容","联系方式","应用Id","应用版本","反馈时间"};//标题       

        List list = appinfoService.getAllFeedbackForExcel(searchText, strType, startDate, endDate);//内容list       

        SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");


        String [][]values =new String[list.size()][];

        for(inti=0;i

            values[i] =new String[title.length];

            //将对象内容转换成stringFeedback obj = list.get(i);

            values[i][0] = obj.getId()+"";

            values[i][1] = obj.getFiles();

            values[i][2] = obj.getFbType();

            values[i][3] = obj.getContent();

            values[i][4] = obj.getContactInfo();

            values[i][5] = obj.getAppId();

            values[i][6] = obj.getVersionName();

            values[i][7] = sdf.format(obj.getCreateTime());


        }


        HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName, title, values,null);


        //将文件存到指定位置  try { 

            this.setResponseHeader(response, fileName); 

            OutputStream os = response.getOutputStream(); 

            wb.write(os); 

            os.flush(); 

            os.close(); 

        } catch (Exception e) { 

            e.printStackTrace(); 

        } 

        returnJResponse.success("ok");

    }


    publicvoid setResponseHeader(HttpServletResponse response, String fileName) { 

        try { 

              try { 

                  fileName =newString(fileName.getBytes(),"ISO8859-1"); 

              } catch (UnsupportedEncodingException e) { 

                  // TODO Auto-generated catch block                    e.printStackTrace(); 

              } 

              response.setContentType("application/octet-stream;charset=ISO8859-1"); 

              response.setHeader("Content-Disposition", "attachment;filename="+ fileName); 

              response.addHeader("Pargam", "no-cache"); 

              response.addHeader("Cache-Control", "no-cache"); 

        } catch (Exception ex) { 

              ex.printStackTrace(); 

        } 

    }

}

注意这里将 List list = appinfoService.getAllFeedbackForExcel(searchText, strType, startDate, endDate);//内容list 换成你自己的获取数据方法,将values二维数组导入util工具类方法中即可。

整体思路:将二维数组导入excel。

4、访问link即可,如:XXX

/excel/exportfeedback

导出Excel

$('#js-export').click(function(){

            window.location.href="/xxx/excel/exportfeedback?type="+$('#type').val()+"&startDate="+$('#table_start_date').val()+"&endDate="+$('#table_end_date').val();

        });

分类

你可能感兴趣的:(jeesite自己写导出excel表格)