java利用poi包 为excel生成超链接
2016-04-29 15:46
591 查看
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
转载自: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
相关文章推荐
- Java多线程之synchronized和volatile
- Java多线程学习(吐血超详细总结)
- 关于java构造器初始化顺序例子
- Dwr3.0纯注解(纯Java Code配置)配置与应用浅析一之零配置文件化
- java集合迭代器Iterator中的remove陷阱
- Java多线程之synchronized和volatile
- eclipse中ant的安装
- Spring 配置JNDI(连接池)
- Java中Vector和ArrayList的区别
- Eclipse常用的快捷键
- Java字符串的10大热点问题盘点
- java基础笔记03
- java常用工具库
- 深入理解Java:String
- eclipse 全局搜索
- 【排序算法】基数排序(java实现)
- java 连接数据库
- Java 8 Optional类深度解析
- 项目导入eclipse中无法启动虚拟器
- 使用FileVisitor遍历文件和目录