16 Star 85 Fork 27

lnk / jxlss

加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

jxls 简介

jxls 是一个导出excel文件的库,在原excel文件上加入jxls指令做成模板文件,然后几乎可以原样生成excel文件。
官网http://jxls.sourceforge.net/index.html

jxlss 简介

本工程 jxlss 是基于 jxls2(当前版本2.4.3) 的基础上增加了一些功能和修改一些问题,具体改动内容请看下面改动章节。

生成excel文件

生成效果

  • 模板文件
    excel模板

  • jxls指令,注意指令jx:area(lastCell="H20"),这个是一定要的,并指定生成内容的区域lastCell="H20",超出这个区域的内容则不生成
    jxls指令

  • 最终生成的excel文件
    生成的excel

生成步骤

  1. 添加本库jar包或源码到项目中。
  2. 准备excel模板,在模板中加入需要填充数据的指令。
  3. 调用下面代码生成excel文件:
            JxlsBuilder
                /* -- 加载模板方式 -- */
                // 使用文件流加载模板
                // .getBuilder(inputStream)
                // 使用文件加载模板
                // .getBuilder(file)
                // 使用路径加载模板,可以是相对路径,也可以绝对路径
                .getBuilder("dome/employee.xlsx")

                /* -- 输出文件方式 -- */
                // 指定输出的文件流
                // .out(outputStream)
                // 指定输出的文件
                // .out(file)
                // 指定输出的路径
                .out(outPath)

                /* 添加生成的数据 */
                .putVar("name", data)
                // 设置图片路径的根目录
                .imageRoot("imgRoot")
                // 设置如果图片缺失不抛异常继续生成文件
                .ignoreImageMiss(true)
                // 添加自定工具类
                // .addFunction("jx", new JxlsUtil())
                .build();

设置模板文件目录和图片路径根目录

设置代码,建议在工程启动时设置:

        JxlsConfig.config()
                // 锁住配置,本次修改之后不能再修改配置
                // .lock()
                // 设置模板文件根目录
                .templateRoot("模板文件目录路径")
                // 设置图片路径根目录
                .imageRoot("图片文件目录路径")
                // 忽略warn警告
                .silent(true);

模板文件目录

模板文件目录默认为:classpath:jxls_templates

// 加载模板文件时可以使用文件绝对路径,也可以相对路径。如果是相对路径则为模板文件目录下的路径
JxlsBuilder.getBuilder("dome/employee.xlsx");

图片路径根目录

使用指令 jx:image 插入图片时,的src属性支持图片路径(原jxls只支持byte[]数据)。 src 支持绝对路径和相对路径。如果使用相对路径则需要设置图片路径根目录,设置方式有两种:

// 1. 全局设置
JxlsConfig.config().imageRoot("图片文件目录路径");
// 2. 生成文件的时候设置(本次生成文件有效)
JxlsBuilder.getBuilder("dome/employee.xlsx").imageRoot("图片文件目录路径")...

基于 jxls 2.4.3 上的改动

  • 指令 jx:imagesrc属性支持图片路径,原jxls只支持byte[]数据。
  • 新增指令 jx:merge,用于合并单元格。
  • 新增指令 jx:keep,如果生成的单元格样式被改变了,可以试用该指定恢复单元格样式。
  • 新增自定义工具 JxlsUtil, 在表达式中使用 jxu:method() 调用工具的方法。
  • 优化指令 jx:grid,props支持String[]类型和可以通过参数传进来

指令使用说明

jxls的指令形式:

jx:<command_name>(attr1='val1' attr2='val2' ... attrN='valN' lastCell=<last_cell> areas=["<command_area1>", "<command_area2", ... "<command_areaN>"])

指令写在单元格批注里,以jx:开头,包含有指令名称command_name、自定义属性attrlastCellareas。需要注意一点,每条指令都不能换行。
其中lastCell为必填属性,作用是指定当前指令的作用区域,超出区域的单元格不处理。
jx:area指令,这个指令很重要,每个excel模板都需要添加该指令,这个指令是指定这个模板生成时填充数据的单元格范围,超出该范围的指令和表达式则不处理。

指令列表

更新日志

  • jxlss 1.0.4 2018年12月7日
    修复:merge指令lastCell属性指定合并区域优先级比minCols和minRows属性高问题(应该是minCols和minRows属性比lastCell属性的优化级要高)

  • jxlss 1.0.3(略)

  • jxlss 1.0.2(略)

  • jxlss 1.0.1 2018年5月2日
    优化Grid指令。
    解决项目打包成jar运行时默认模板目录和默认图片目录设置无法读取jar内部文件问题,同时新增支持默认目录可放在jar包同一个目录下。

仓库评论 ( 80 )

你可以在登录后,发表评论

简介

基于jxls生成excel文件 展开 收起
Java
MPL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/lnkToKing/jxlss.git
git@gitee.com:lnkToKing/jxlss.git
lnkToKing
jxlss
jxlss
master

搜索帮助