8、进阶之Jxls2的单元格超链接
Jxls2admin 发布于:2018-04-04 15:22:01
阅读:loading
本章节将在导出逻辑中演示单元格使用超链接的场景,对于超链接的支持有4中,常用的分别是文档内部(内连接)和外部连接(本例中将使用到的),比较简单,采用jxls自带的util函数实现。找了许久才将这个util的实现类找到,并通过它的超链接的技术实现引发了我一连串的“高端”应用(详见后文),扯远了,util的实现类路径为:org.jxls.transform.poi.PoiUtil,示例比较简单,重点是它这种超链接的方式可以将一个自定义的单元格转换为Poi对单元格Cell的处理,所以说我们有了Cell对象时,基本上跟使用原生Poi来*作文档是一样强大的。
package cn.chendd.examples;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.jxls.common.Context;
import org.jxls.transform.poi.PoiTransformer;
import org.jxls.util.JxlsHelper;
/**
* Link 设置单元格
* util.hyperlink的调用类为:org.jxls.transform.poi.PoiUtil
*/
public class SimpleLinkJxls {
public static void main(String[] args) throws Exception {
//模板文件
InputStream is = SimpleLinkJxls.class.getClass().getResourceAsStream("/cn/chendd/examples/templates/simpleLink.xls");
Context context = PoiTransformer.createInitialContext();
//设置参数变量
context.putVar("name", "chendd");
context.putVar("link", "http://www.chendd.cn");
OutputStream os = new FileOutputStream(new File("d:\\test\\out_simpleLink.xls"));
//载入模板、处理导出
JxlsHelper.getInstance().setUseFastFormulaProcessor(false).processTemplate(is , os , context);
//释放资源
os.flush();
os.close();
is.close();
}
}
代码说明
代码比较简单,由后台设置了两个变量,分别是name和link,其中link是一个url地址,因为本例的link指向的是互联网地址,所以给出一个http的外网地址。
模板介绍
模板说明
模板中分别引用了两处的link,第一处是作为文档内的内容部分,结果发现在内容部分的输出为后台xls单元格的类地址;后面B2格子的为单独在一个单元格内的链接,故这个生效了,可以作为超链接点击。
运行示例
运行说明
示例分别显示了单元格的实际对象类型与超链接示例。
相关下载
本示例代码会在后文中提供。
点赞