zoukankan      html  css  js  c++  java
  • java利用poi包 为excel生成超链接

    转载自:http://www.blogjava.net/leekiang/archive/2008/10/21/235794.html

     
    1,
    一个需求, 要求报表生成的Excel表格支持超链接。例如点击Excel内的公司名, 自动打开浏览器并连到该公司的网站上去。在Excel里面选中所需的单元格, 右键弹出属性, 选超链接就能输入相应的地址了,既然Excel支持超链接。那就没有什么借口说不能实现了。:).

    翻了翻POI的文档, 很容易就找到了解决方案。在POI中让单元格实现超链接功能, 可以用Hyperlink 函数。HYPERLINK函数包含两个参数,第一个参数是指向的地址,第二个参数是显示的字符串

    cell = row.createCell(colNumber)。
    cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
    cell.setCellFormula("HYPERLINK("" + "Http://www.google.ca"+ "","" + "Google Canada"+ "")");
    或cell.setCellFormula("HYPERLINK("[workbook.xls]'sheet2'!A1","homepage")"); //HYPERLINK("#明细!A1","homepage"),#代表本工作簿,来源http://club.excelhome.net/thread-54081-1-1.html

    现在超链接单元格看起来和一般的单元格没有分别, 除非你把鼠标放上去才会变成手行光标。 为了和一般的习惯相符, 还需要把字符颜色变成蓝色和加上下划线。 这就要用到 style了、

    HSSFCellStyle linkStyle = workbook.createCellStyle();
    HSSFFont cellFont= workbook.createFont();
    cellFont.setUnderline((byte) 1);
    cellFont.setColor(HSSFColor.BLUE.index);
    linkStyle.setFont(cellFont);

    最后把style应用到cell上去就大功告成了。
    cell.setCellStyle(linkStyle);

    以上修改自http://sunnylei2008.blogspot.com/2007/07/poihssf.html
    和http://diystyle.javaeye.com/blog/132093
    还有http://blog.csdn.net/xunyiren/archive/2007/03/08/1524533.aspx
  • 相关阅读:
    Linux安装.net core
    在IIS中如何配置SSL(https)
    Lambda的前世今生
    Java建造者模式
    leetcode 83 Remove Duplicates from Sorted List
    【设计】Office
    【设计】简书品牌重构
    【设计总结】
    【交互设计】
    【设计总结】
  • 原文地址:https://www.cnblogs.com/azhqiang/p/3797082.html
Copyright © 2011-2022 走看看