将数据库里面的数据导入到Excel(Java)
2017-02-23 23:18
459 查看
前端页面展示
创建实体类User
dao层
service层
serviceImpl层
controller层
xml配置文件
ExportExcel类
<span><button class="btn" id="deviceExport">导出</button> <script> var User = function(){ this.init = function(){ // 用于导出excel $("#userExport").click(function() { var url = '/user/export/'; location.href = url + "?queryJson="+JSON.stringify(user.acquireInquireData()); }); }; //获取查询条件 this.acquireInquireData = function(){ var inquireCondition = { name:$('#name').val(),//名称 sex: $('#sex').val(),//性别 age: $('#age').val(),//年龄 }; return inquireCondition; }; } var user; $(function(){ user = new User(); user.init(); }); </script>
创建实体类User
public class User{ private String name; private String sex; private String age; //get set方法 }
dao层
public interface UserDao{ List<User> getUserForExcel(User user); }
service层
public interface UserService{ List<User> getUserForExcel(User user); }
serviceImpl层
public class serviceImpl implements UserService{ @Autowired private UserDao userDao; public List<user> getUserServiceForExcel(User user){ List<User> list=userDao.getUserForExcel(user); return list; } }
controller层
@Controller @RequestMapping("/user") public class UserController{ @Autowired private UserService userService; @RequestMapping("/export") public void export(HttpServletRequest request,HttpServletResponse response, @RequestParam(value="queryJson") String queryJson){ User user=JSON.parseObject(queryJson,User.class); List<User> userList=userService.getUserForExcel(user); ExportExcel<User> ee=new ExportExcel<User>(); String[] headers={"序号",“姓名”,“性别”,“年龄”}; String fileName=“用户信息表”; ee.exportExcel(headers,userList,fileName,response); } }
xml配置文件
<select id="getUserForExcel" parametertype="User" resulttype="User"> select name,sex,age from juser_table where 1=1 and and name=#{name} and sex=#{sex} and age=#{age} </select>
ExportExcel类
public class ExportExcel<t>{ public void exportExcel(String[] headers,Collection<t> dataset, String fileName,HttpServletResponse response) { XSSFWork workbook=new XSSFWork(); XSSFSheet sheet=workbook.createSheet(fileName); sheet.setDeaultColumnWidth((short)20);//设置默认宽度为15个字节 XSSFRow row=sheet.createRow(0); for (short i = 0; i < headers.length; i++) { XSSFCell cell = row.createCell(i); XSSFRichTextString text = new XSSFRichTextString(headers[i]); cell.setCellValue(text); } try { // 遍历集合数据,产生数据行 Iterator<t> it = dataset.iterator(); int index = 0; while (it.hasNext()) { index++; row = sheet.createRow(index); T t = (T) it.next(); // 利用反射,根据javabean属性的先后顺序,动态调用getXxx()方法得到属性值 Field[] fields = t.getClass().getDeclaredFields(); for (short i = 0; i < headers.length; i++) { XSSFCell cell = row.createCell(i); Field field = fields[i]; String fieldName = field.getName(); String getMethodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); dfd3 Class tCls = t.getClass(); Method getMethod = tCls.getMethod(getMethodName, new Class[] {}); Object value = getMethod.invoke(t, new Object[] {}); // 判断值的类型后进行强制类型转换 String textValue = null; // 其它数据类型都当作字符串简单处理 if(value != null && value != ""){ textValue = value.toString(); } if (textValue != null) { XSSFRichTextString richString = new XSSFRichTextString(textValue); cell.setCellValue(richString); } } } getExportedFile(workbook, fileName,response); } catch (Exception e) { e.printStackTrace(); } } public void getExportedFile(XSSFWorkbook workbook, String name,HttpServletResponse response) throws Exception { BufferedOutputStream fos = null; try { String fileName = name+DateUtil.parseSmallDate(new Date()) + ".xlsx"; response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment;filename=" + new String( fileName.getBytes("gb2312"), "ISO8859-1" )); fos = new BufferedOutputStream(response.getOutputStream()); workbook.write(fos); } catch (Exception e) { e.printStackTrace(); } finally { if (fos != null) { fos.close(); } } } }
相关文章推荐
- java 实现excel中的数据导入到数据库的功能
- Java版将EXCEL表数据导入到数据库中
- 用java实现excel数据批量导入数据库
- Java将数据库数据导入EXCEL
- 怎样把 excel 的数据导入到数据库里面去
- Java版将EXCEL表数据导入到数据库中
- java实现Excel导入数据库,数据库中的数据导入到Excel表格中
- Java如何将Excel数据导入到数据库
- Java,数据库中的数据导入到Excel
- Java POI --- Java导入excel文档的相应列的数据到数据库的相应字段
- java实现数据库中的数据导入到Excel
- Java实现Excel导入数据库,数据库中数据导出Excel表
- Java 利用poi把数据库中数据导入Excel
- java用poi从Excel导入数据到数据库
- Java操作Excel(三)将Excel中的数据批量的导入数据库
- Java实现Excel导入数据库,数据库中的数据导入到Excel。。转载 自学资料总结 实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1、
- Java版将EXCEL表数据导入到数据库中
- java中jxl将数据库中的数据导入到excel中
- java从数据库中将数据导入到excel中