8、进阶之Jxls2的单元格超链接

Jxls2
placeholder image
admin 发布于: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的外网地址。

模板介绍

 

image.png

 

模板说明

模板中分别引用了两处的link,第一处是作为文档内的内容部分,结果发现在内容部分的输出为后台xls单元格的类地址;后面B2格子的为单独在一个单元格内的链接,故这个生效了,可以作为超链接点击。

运行示例

image.png

运行说明

示例分别显示了单元格的实际对象类型与超链接示例。

相关下载

out_simpleLink.xls

本示例代码会在后文中提供。

 点赞


 发表评论

当前回复:作者

 评论列表


留言区