【Java】Jxls--轻松生成 Excel

这篇具有很好参考价值的文章主要介绍了【Java】Jxls--轻松生成 Excel。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、介绍

Jxls 是一个小型 Java 库,可以轻松生成 Excel 报告。Jxls 在 Excel 模板中使用特殊标记来定义输出格式和数据布局。

Java 有一些用于创建 Excel 文件的库,例如Apache POI。这些库都很好,但都是一些较底层的库,因为它们要求开发人员编写大量 Java 代码,甚至创建一个简单的 Excel 文件。

通常,人们必须手动设置电子表格的每个单元格格式和数据。根据报表布局和数据格式的复杂性,Java 代码可能变得相当复杂并且难以调试和维护。此外,并非所有 Excel 功能都受支持并且可以使用库 API 进行操作(例如,对宏、图表等的支持有限)。

对于不支持的功能,建议的解决方法是在 Excel 模板中手动创建对象,然后使用数据填充模板。Jxls提供了这种功能。使用 Jxls 时,只需在 Excel 模板文件中定义所需的报告格式和数据布局,然后运行 ​​Jxls 引擎以使用数据填充模板。开发人员只需编写一点Java代码即可触发Jxls引擎对模板的处理。

2、入门示例

jxls底层是依赖poi。

引入对应的库:

	<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>

创建DTO:
Employee.java

package com.example.demo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class Employee {
    private String name;

    private Date birthDate;

    private BigDecimal payment;

    private BigDecimal bonus;
}

制作模板:
【Java】Jxls--轻松生成 Excel,java,java,excel,python
注意:
jx:area(lastCell="D5"):要模板的设置区域
jx:each(items="employees" var="employee" lastCell="D5"):设置填充数据时的表达式命令

测试代码:

package com.example.demo;

import lombok.extern.slf4j.Slf4j;
import org.jxls.common.Context;
import org.jxls.util.JxlsHelper;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

@Slf4j
public class JxlsDemoMain {
    public static void main(String[] args) {
        log.info("start...");
        List<Employee> employeeList = generateEmployeeData();
        try(InputStream is =JxlsDemoMain.class.getResourceAsStream("/templates/demo.xls");
       OutputStream os = new FileOutputStream("demo-001.xls")){
            Context context = new Context();
            context.putVar("employees",employeeList);
            JxlsHelper.getInstance().processTemplateAtCell(is,os,context,"Result!A1");

        }catch (Exception e){
            e.printStackTrace();
            log.error(e.getMessage());
        }

    }

    private static List<Employee> generateEmployeeData(){
        List<Employee> employees = new LinkedList<>();

        int num = 100;
        while (num>0){
            Employee employee = new Employee();
            employee.setName("kexuexiong"+num);
            employee.setBonus(BigDecimal.valueOf(1000));
            employee.setPayment(BigDecimal.valueOf(1000));
            employee.setBirthDate(new Date());
            employees.add(employee);
            num--;
        }

        return employees;
    }

}

输出结果:
【Java】Jxls--轻松生成 Excel,java,java,excel,python文章来源地址https://www.toymoban.com/news/detail-703393.html

到了这里,关于【Java】Jxls--轻松生成 Excel的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • jxls根据模板导出Excel(二)

    说明:本文是jxls根据模板导出Excel直接下载。 使用版本:jxls V2.10.0 excel模板版本:.xlsx格式 jxls官网地址:https://jxls.sourceforge.net/index.html 1、pom引用 2、Controller调用方法 3、拼接数据 4、Excel导出方法 5、Excel模板,创建xlsx格式模板 添加批注,第一个单元格添加范围批注,jx:ar

    2024年02月09日
    浏览(31)
  • 【Java】使用 HSSFWorkbook 生成 Excel 并导出步骤

    1、含义:excel的工作簿 2、创建工作簿 3、创建 excel 的工作表 4、创建单元格样式 1、含义:excel 的工作表 2、创建行(第一行从 0 开始) 3、设置单元格宽度 1、含义:单元格样式 2、属性设置 1、含义:excel 的行 2、创建行对应的单元格(第一个单元格从 0 开始) 3、属性设置

    2024年02月03日
    浏览(35)
  • java动态生成excel并且需要合并单元格

    java动态生成excel并且需要合并单元格 先上图看一下预期效果 集成poi 通过poi手动制作excel

    2024年02月13日
    浏览(30)
  • java中使用POI生成Excel并导出

    注:本文章中代码均为本地Demo版本,若后续代码更新将不会更新文章 根据从数据库查询出的数据,将其写入excel表并导出 我的想法是通过在实体属性上写自定义注解的方式去完成。因为我们在代码中可以通过反射的方式去获取实体类中全部的注解及属性名称等等。我们可以

    2024年02月16日
    浏览(35)
  • Java 导出Excel表格生成下拉框-EasyExcel

     

    2024年02月11日
    浏览(41)
  • Java便捷生成二维码并使用Excel

    第一步生成图片字节数组输出流 第二步字节数组输出流存入excel 使用的是easyexcel和hutool工具便捷快速开发 导出类信息 @ContentRowHeight(100) @ColumnWidth(100/6) 这两个注解是条件excel行列大小,可以自行调整 EasyExcel 会根据这个实体类来生成表格,可以去官网查看注解注释掉其中的某

    2024年02月09日
    浏览(25)
  • java使用@interface和反射来动态生成excel

    1、对象类上搞注解 public class ReportExecuteDetailDto {     // 项目信息     private String regionCode;         // 大区编号     @ExcelColumn(order = 0, title = \\\"大区\\\")     private String regionName;         // 大区名称          @ExcelColumn(order = 14, title = \\\"行申请金额\\\", dataType = ExcelColumn.FieldType.

    2024年02月11日
    浏览(24)
  • EasyExcel知识【Java程序进行读写生成Excel操作】

    💂 个人主页:  爱吃豆的土豆 🌈欢迎加入社区,福利多多哦!土豆社区 🤟数据库专栏更新完毕: 数据库知识 🤟JDBC专栏更新完毕: JDBC知识 🤟Mybatis专栏更新完毕: Mybatis知识 💬 如果文章对你有帮助、 欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 目录 1,Easy Excel入门

    2023年04月08日
    浏览(33)
  • java中用HSSFWorkbook生成xls格式的excel(亲测)

    SXSSFWorkbook类是用于生成XLSX格式的Excel文件(基于XML格式),而不是XLS格式的Excel文件(基于二进制格式)。 如果你需要生成XLS格式的Excel文件,可以使用HSSFWorkbook类。以下是一个简单的示例: javaCopy code import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; impo

    2024年02月11日
    浏览(29)
  • java poi生成excel折线图、柱状图、饼图、动态列表

    实现效果   测试类 实体类  工具类 完整代码地址:https://gitee.com/Szw99/create-excel.git

    2024年02月13日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包