Excel导出(HSSFWorkbook )
来源:互联网 发布:淘宝最低价最新规则 编辑:程序博客网 时间:2024/05/18 01:04
private void outPut(List<SmUser> smUserList,HttpServletResponse response) { String[][] user = { {"用户名", "username"}, {"姓名", "name"},{"性别", "gender"}, {"邮箱", "email"}, {"工号", "jobnumber"}, {"生日", "birthday"}, {"描述", "description"}, {"用户头像", "imageurl"}, {"创建时间", "createtime"}, {"备忘", "remark"}, {"排序号", "sortorder"}, {"用户类型", "usertype"}, {"单位", "unit"}, {"部门", "dept"}, {"角色", "role"}, {"账号类型", "accounttype"}, {"账号有效期", "existtime"}}; try { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet=workbook.createSheet("SmUser"); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 标题行 buildHead(sheet, user, workbook);//设置表头标题 HSSFRow row = null;//行 HSSFCell cell=null;//列 SmUser smUser = null; for(int i=0;i<smUserList.size();i++) { row=sheet.createRow(i+1);//设置行(由于第0行表头已设置,所以从第一行开始设置值) smUser = smUserList.get(i); for(int j=0;j<user.length;j++){ Method method = getColumnValue(SmUser.class, user[j][1]);//获取字段名及get方法 Object o = method.invoke(smUser, null);//通过get方法取值 if (o instanceof Date) { o = formatter.format(o);//日期时间需要转换 } cell = row.createCell(j);//设置列 cell.setCellValue(o == null ? "" : String.valueOf(o)); //设置值 //用三元运算符判断o是否为空 } } responseSet(response, "用户信息" + TimeUtil.nowTime());//设置Excel名称及文件保存位置 OutputStream os = response.getOutputStream(); workbook.write(os);//写入到Excel中 os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); } }
public static void buildHead(HSSFSheet sheet, String[][] headArr, HSSFWorkbook workbook) { // 标题行 HSSFRow headRow = sheet.createRow(0); for (int i = 0; i < headArr.length; i++) { HSSFCellStyle cellStyle = getHeadCellStyle(workbook); HSSFCell cell = headRow.createCell(i); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(headArr[i][0]); cell.setCellStyle(cellStyle); }}
public static Method getColumnValue(Class<?> cla, String column) throws NoSuchMethodException { String methodStr = "get" + StringUtil.toUpperCaseFirst(column); Method method = cla.getMethod(methodStr, null); return method;}
/** * 字符串首字母大写 * * @param str * @return */public static String toUpperCaseFirst(String str) { StringBuilder sb = new StringBuilder(str); sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); return sb.toString();}
public static void responseSet(HttpServletResponse response, String title) throws UnsupportedEncodingException { response.reset(); response.setCharacterEncoding("utf-8"); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(title + ".xls", "UTF-8"));}
阅读全文
1 0
- Excel导出(HSSFWorkbook )
- HSSFWorkbook导出Excel
- HSSFWorkbook导出EXCEL
- HSSFWorkbook导出Excel
- HSSFWorkbook 导出excel应用
- HSSFWorkbook导出excel
- HSSFWorkBooK用法 Excel导出详细
- poi使用HSSFWorkbook 导出excel
- HSSFWorkbook 导出表格到excel
- hssfworkbook导出excel的问题
- 关于HSSFWorkbook的使用(导出excel表格的创建)
- excel导入(HSSFWorkbook)
- poi导出Excel,HSSFWorkbook与XSSFWorkbook区别
- HSSFWorkbook生成Excel文件并导出
- 用HSSFWorkbook类导出EXCEL表格
- HSSFWorkbook使用java代码导出excel
- HSSFWorkBooK用法 ---Excel表的导出和设置
- 将数据库中的数据导出为excel文件 HSSFWorkBooK用法
- jQuery datagrid 即时选择
- Select标签后台获取动态数据
- 设计模式[1.起源与诞生]
- 打开ipynb文件——Jupyter Notebook——怎么设置路径
- C# 虚函数 (转载)
- Excel导出(HSSFWorkbook )
- 数据库模式显示的Swing表格
- 栈的c代码实现
- 简述private,protected,public,internal修饰符的访问权限
- jenkins+maven动态打包配置文件
- webpack中output配置
- 驱动设备管理
- 信息安全课程复习总结(部分)
- 依赖注入和反转控制