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

http://chendd.cn/information/viewInformation/other/231.a

本章节将在导出逻辑中演示单元格使用超链接的场景,对于超链接的支持有4中,常用的分别是文档内部(内连接)和外部连接(本例中将使用到的),比较简单,采用jxls自带的util函数实现。找了许久才将这个util的实现类找到,并通过它的超链接的技术实现引发了我一连串的“高端”应用(详见后文),扯远了,util的实现类路径为:org.jxls.transform.poi.PoiUtil,示例比较简单,重点是它这种超链接的方式可以将一个自定义的单元格转换为Poi对单元格Cell的处理,所以说我们有了Cell对象时,基本上跟使用原生Poi来*作文档是一样强大的。

Java代码参考为:

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的外网地址。

模板参考为:

 

blob.png

 

模板说明

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

运行示例为:

blob.png

运行说明

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

相关下载

icon_txt.gifout_simpleLink.xls

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

转载于:https://my.oschina.net/haiyangyiba/blog/2246035

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值