jxls
是一个导出excel文件的库,在原excel文件上加入jxls指令做成模板文件,然后几乎可以原样生成excel文件。
官网http://jxls.sourceforge.net/index.html
本工程 jxlss
是基于 jxls2
(当前版本2.11.0) 的基础上增加了一些功能和修改一些问题,具体改动内容请看下面改动章节。
模板文件
jxls指令,注意指令jx:area(lastCell="H20")
,这个是一定要的,并指定生成内容的区域lastCell="H20"
,超出这个区域的内容则不生成
最终生成的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("图片文件目录路径")...
jx:image
的src
属性支持图片路径,原jxls只支持byte[]数据。jx:merge
,用于合并单元格。jx:keep
,如果生成的单元格样式被改变了,可以试用该指定恢复单元格样式。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
、自定义属性attr
、lastCell
和areas
。需要注意一点,每条指令都不能换行。
其中lastCell
为必填属性,作用是指定当前指令的作用区域,超出区域的单元格不处理。
如jx:area
指令,这个指令很重要,每个excel模板都需要添加该指令,这个指令是指定这个模板生成时填充数据的单元格范围,超出该范围的指令和表达式则不处理。
jxlss
增强)jxlss
增加)jxlss
增加)jxlss 1.0.5 2022年3月23日
jx:merge
已经提交给jxls,官方指命令为jx:mergeCells
,用法一样。同时为了兼容,本工具还保留jx:merge
,会同时支持jx:merge
和jx:mergeCells
pres.lnk.jxlss.command.MergeCommand
类的,请使用官方类org.jxls.command.MergeCellsCommand
替换jxlss 1.0.4 2018年12月7日
jxlss 1.0.3(略)
jxlss 1.0.2(略)
jxlss 1.0.1 2018年5月2日
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。