POI 实现Excel文件中点击超链接跳转到某sheet页某列某行的功能
POI 实现Excel文件中点击超链接跳转到某sheet页某列某行的功能(poi的jar包见附件文件 3.12.rar)
描述:
生成在Excel文件中设置超链接实现点击某单元格时跳转到某sheet页某列某行的功能,比如
在汇总的页面点击数字(表示总个数)跳转到详细页面,查看每一行数据
public static void main(String[] args) throws IOException {
/* !使用POI版本:3.10-FINAL*/
/* 建立新HSSFWorkbook对象*/
HSSFWorkbook wb = new HSSFWorkbook();
/* 建立新的sheet对象*/
HSSFSheet sheet = wb.createSheet(“汇总页面”);
HSSFRow row = sheet.createRow((short)0);
/* 连接跳转*/
HSSFCell likeCell = row.createCell((short)0);
Hyperlink hyperlink = new HSSFHyperlink(Hyperlink.LINK_DOCUMENT);
// “#”表示本文档 “明细页面”表示sheet页名称 “A10″表示第几列第几行
hyperlink.setAddress(“#明细页面!A10”);
likeCell.setHyperlink(hyperlink);
// 点击进行跳转
likeCell.setCellValue(“1”);
/* 设置为超链接的样式*/
HSSFCellStyle linkStyle = wb.createCellStyle();
HSSFFont cellFont= wb.createFont();
cellFont.setUnderline((byte) 1);
cellFont.setColor(HSSFColor.BLUE.index);
linkStyle.setFont(cellFont);
likeCell.setCellStyle(linkStyle);
/* 建立第二个sheet对象*/
HSSFSheet sheet2 = wb.createSheet(“明细页面”); //建立新的sheet对象
for (int i = 0; i < 30; i++) {
HSSFRow row2 = sheet2.createRow((short)i);
HSSFCell cell2 = row2.createCell((short)0);
cell2.setCellValue(“测试第”+(i+1)+”行”);
}
/* 输出文件*/
FileOutputStream fileOut = new FileOutputStream(“D:\\汇总和明细.xls”);
wb.write(fileOut);
fileOut.close();
}
- public static void main(String[] args) throws IOException {
- /* !使用POI版本:3.10-FINAL*/
- /* 建立新HSSFWorkbook对象*/
- HSSFWorkbook wb = new HSSFWorkbook();
- /* 建立新的sheet对象*/
- HSSFSheet sheet = wb.createSheet(“汇总页面”);
- HSSFRow row = sheet.createRow((short)0);
- /* 连接跳转*/
- HSSFCell likeCell = row.createCell((short)0);
- Hyperlink hyperlink = new HSSFHyperlink(Hyperlink.LINK_DOCUMENT);
- // “#”表示本文档 “明细页面”表示sheet页名称 “A10″表示第几列第几行
- hyperlink.setAddress(“#明细页面!A10”);
- likeCell.setHyperlink(hyperlink);
- // 点击进行跳转
- likeCell.setCellValue(“1”);
- /* 设置为超链接的样式*/
- HSSFCellStyle linkStyle = wb.createCellStyle();
- HSSFFont cellFont= wb.createFont();
- cellFont.setUnderline((byte) 1);
- cellFont.setColor(HSSFColor.BLUE.index);
- linkStyle.setFont(cellFont);
- likeCell.setCellStyle(linkStyle);
- /* 建立第二个sheet对象*/
- HSSFSheet sheet2 = wb.createSheet(“明细页面”); //建立新的sheet对象
- for (int i = 0; i < 30; i++) {
- HSSFRow row2 = sheet2.createRow((short)i);
- HSSFCell cell2 = row2.createCell((short)0);
- cell2.setCellValue(“测试第”+(i+1)+“行”);
- }
- /* 输出文件*/
- FileOutputStream fileOut = new FileOutputStream(“D:\\汇总和明细.xls”);
- wb.write(fileOut);
- fileOut.close();
- }