Jxsl导出

使用jxls生成excel并导出

2016-12-13  本文已影响0人  Akademos

首先需要pom文件

    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>3.15-beta2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.15-beta2</version>
    </dependency>
    <dependency>
      <groupId>net.sf.jxls</groupId>
      <artifactId>jxls-core</artifactId>
      <version>1.0-RC-1</version>
    </dependency>

实体类

    public class User implements Serializable{
        private static final long serialVersionUID = -7588727575833992276L;
        private String username;
        private String password;
        private Date birthday;
        
        //~~
    }

模板文件

文件存放地址 模板文件内容 修改单元格格式

代码部分

    @RequestMapping("/downData.do")
    public void downData(HttpServletResponse response) throws IOException, InvalidFormatException {
        User user1 = new User("zhangsan", "123", new Date());
        User user2 = new User("lisi", "9999", new Date());
        User user3 = new User("wagnwu", "44444", new Date());
        List<User> userList = new ArrayList<>();
        userList.add(user1);
        userList.add(user2);
        userList.add(user3);
        String fileName = "学生信息";
        fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
        response.reset();
        response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
        response.setContentType("application/x-download");
        Resource resource = new ClassPathResource("template/a.xlsx");
        InputStream is = resource.getInputStream();
        Workbook workbook = getWorkBook(userList);
        workbook.write(response.getOutputStream());
    }

    private Workbook getWorkBook(List<User> userList) throws IOException, InvalidFormatException {
        Map<String, List<User>> beans = new HashMap<>();
        beans.put("userList", userList);
        XLSTransformer transformer = new XLSTransformer();
        Resource resource = new ClassPathResource("template/a.xlsx");
        InputStream is = resource.getInputStream();
        return transformer.transformXLS(is, beans);
    }
上一篇 下一篇

猜你喜欢

热点阅读