1.java导出Excel文件:
- 在Controller控制器中获取前台传过来的一些参数:
public void exportApplyerStExcel() { if (!IsPost()) { ///获取一些要用的参数 int year = this.getParaToInt("year"); int op = this.getParaToInt("op"); int zcbtp = this.getParaToInt("zcbtp"); String jgbm = getDefaultOrgId(); System.out.println("jgbm2===="+jgbm); ///具体下载逻辑在service中实现 String fileName = ReportService.exportApplyerStExcel(year,jgbm,op,zcbtp); ///返回下载的文件 renderFile(fileName); } else { this.renderText("null"); } }
- 需要下载使用的表格的格式如下图:根据表格的格式生成每一行每一列,包括单元格合并以及表头信息
- 正式的生成表格:
public static String exportApplyerStExcel(int year, String gljg,int op,int zcbtp) { //获取需要在表格中填写的数据,返回类型是Record ZcglYwJbqkModel model = new ZcglYwJbqkModel(); // List<Record> contentList = model.GetApplyerSt(op,year,zcbtp,gljg); // select查询结果 ZcglYwTjbbModel mdl = new ZcglYwTjbbModel().findJgmc(gljg); String jgmc = mdl.getStr("gljg_mc"); String strAppClass = "按职称系列"; //创建excel工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); //创建第一个sheet(页),命名为 sheet1 HSSFSheet sheet = workbook.createSheet("sheet1"); // 设置表格默认列宽度为20个字节 sheet.setDefaultColumnWidth((short) 6); // 设置第一列字体的大小 int fontSize = 600;// 10号字体为600 sheet.setColumnWidth(0, fontSize * 10); //设置第二列的宽度,,,第几行(列)都是从0开始算起 sheet.setColumnWidth(1, fontSize * 10); String[] columnHeads = { "","", "受理