java使用jxls导出excel

1、首先在pom文件添加三个依赖:

            <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls</artifactId>
            <version>2.10.0</version>
        </dependency>
        <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls-poi</artifactId>
            <version>2.10.0</version>
        </dependency>
        <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls-jexcel</artifactId>
            <version>1.0.9</version>
        </dependency>

2、示例代码:

1)创建一个实体类:

@Data
public class Person {
    private String name;
    private String age;
    private String sex;
    private String post;
    private String sal;

}

2)实现如下:

@GetMapping("/export")
    public void export(HttpServletResponse response){
        boolean flag = true;
        List<Person> record = new ArrayList<>();
        for (int i = 0; i < 2; i++) {
            Person p = new Person();
            p.setName("kkm00"+i);
            p.setAge("30");
            p.setSex("man");
            p.setPost("资深架构师"+i);
            p.setSal("百万年薪");
            record.add(p);
        }
        //封装参数
        Map<String,Object> map = new HashMap();
        map.put("record",record);
        map.put("name","KKM");

        //获取模板

@GetMapping("/export")
    public void export(HttpServletResponse response){
        boolean flag = true;
        List<Person> record = new ArrayList<>();
        for (int i = 0; i < 2; i++) {
            Person p = new Person();
            p.setName("kkm00"+i);
            p.setAge("30");
            p.setSex("man");
            p.setPost("资深架构师"+i);
            p.setSal("百万年薪");
            record.add(p);
        }
        //封装参数
        Map<String,Object> map = new HashMap();
        map.put("record",record);
        map.put("name","KKM");

        //获取模板
        try {
            //resource目录下的文件
            ClassPathResource resource = new ClassPathResource("excel/InfoTemplate.xls");
            InputStream inputStream =resource.getInputStream();
            String fileName = "收入明细"+new Date().getTime();
            String fileNameEncoding = URLEncoder.encode(fileName,"utf-8");
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Content-disposition","attachment;filename="+fileNameEncoding+".xls");
            ServletOutputStream outputStream =response.getOutputStream();
            Context context = new Context();
            context.putVar("data",map);
            JxlsHelper.getInstance().processTemplate(inputStream,outputStream,context);
            outputStream.close();
            inputStream.close();
            LOGGER.info("入库单导出成功");
        } catch (IOException e) {
            LOGGER.error("入库单导出异常",e);
            e.printStackTrace();
        }
    }

注意:

1、文件路径一般放在resource目录下:

2、每行的记录数据,首行记录的第一列要写批注信息,如下:
Administrator:
jx:each(items=”data.record” var=”record” lastCell=”Q4”)
说明:
data是context设置的变量;record是记录,一般是一个集合;lastCell值的是Excel表格的第几行,如图:

 

3、运行效果:

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Jxls 是一个开源的 Java 库,用于导出 Excel 文件,它可以在 Java 中非常方便地进行使用。下面是使用 Jxls 导出 Excel 的步骤: 1. 添加依赖 在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>org.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.15</version> </dependency> ``` 2. 准备 Excel 模板 在 Excel 文件中准备好要导出的内容,包括表头和数据部分。可以在表格中使用 ${} 来标记需要动态替换的数据。 3. 准备数据 在 Java 代码中准备好要导出的数据,可以使用 List 或者 Map 等类型来保存数据。 4. 创建模板引擎 使用 Jxls 提供的模板引擎创建一个模板,可以使用以下代码: ```java InputStream is = new FileInputStream(new File("template.xls")); Workbook workbook = WorkbookFactory.create(is); Transformer transformer = TransformerFactory.createTransformer(workbook, outputStream); ``` 其中,“template.xls”是你准备好的 Excel 模板文件名,outputStream 是导出文件的输出流。 5. 填充数据 使用 Jxls 提供的 API 填充数据,可以使用以下代码: ```java Map<String, Object> beans = new HashMap<>(); beans.put("dataList", dataList); transformer.transformXLS(new HashMap<>(), beans); ``` 其中,“dataList”是你准备好的数据,transformer.transformXLS() 方法将会把数据填充到模板中。 6. 输出文件 使用 Jxls 提供的 API 输出文件,可以使用以下代码: ```java transformer.flush(); outputStream.close(); ``` 这样就可以将 Excel 文件导出到 outputStream 中了。 以上是使用 Jxls 导出 Excel 的基本步骤,你可以根据自己的需求进行更多的调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值