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();

}

  1. public static void main(String[] args) throws IOException {  
  2.         /* !使用POI版本:3.10-FINAL*/  
  3.           
  4.         /* 建立新HSSFWorkbook对象*/  
  5.         HSSFWorkbook wb = new HSSFWorkbook();  
  6.           
  7.                 /* 建立新的sheet对象*/  
  8.         HSSFSheet sheet = wb.createSheet("汇总页面");  
  9.         HSSFRow row = sheet.createRow((short)0);  
  10.           
  11.         /* 连接跳转*/  
  12.         HSSFCell likeCell = row.createCell((short)0);        
  13.         Hyperlink hyperlink = new HSSFHyperlink(Hyperlink.LINK_DOCUMENT);  
  14.             // "#"表示本文档    "明细页面"表示sheet页名称  "A10"表示第几列第几行  
  15.         hyperlink.setAddress("#明细页面!A10");  
  16.         likeCell.setHyperlink(hyperlink);  
  17.         // 点击进行跳转  
  18.         likeCell.setCellValue("1");  
  19.           
  20.         /* 设置为超链接的样式*/  
  21.         HSSFCellStyle linkStyle = wb.createCellStyle();  
  22.         HSSFFont cellFont= wb.createFont();  
  23.         cellFont.setUnderline((byte1);  
  24.         cellFont.setColor(HSSFColor.BLUE.index);  
  25.         linkStyle.setFont(cellFont);  
  26.         likeCell.setCellStyle(linkStyle);  
  27.           
  28.         /* 建立第二个sheet对象*/  
  29.         HSSFSheet sheet2 = wb.createSheet("明细页面");  //建立新的sheet对象  
  30.           
  31.         for (int i = 0; i < 30; i++) {  
  32.             HSSFRow row2 = sheet2.createRow((short)i);  
  33.             HSSFCell cell2 = row2.createCell((short)0);  
  34.             cell2.setCellValue("测试第"+(i+1)+"行");  
  35.         }  
  36.           
  37.         /* 输出文件*/  
  38.         FileOutputStream fileOut = new FileOutputStream("D:\汇总和明细.xls");  
  39.         wb.write(fileOut);  
  40.         fileOut.close();  
  41.     }