POI 实现Excel文件中点击超链接跳转到某sheet页某列某行的功能

来源:互联网 发布:sqlserver教材 编辑:程序博客网 时间:2024/05/22 04:34

转载自:http://blog.csdn.net/u014232091/article/details/23710391(原文为原创)


POI 实现Excel文件中点击超链接跳转到某sheet页某列某行的功能

描述:
生成在Excel文件中设置超链接实现点击某单元格时跳转到某sheet页某列某行的功能,比如

在汇总的页面点击数字(表示总个数)跳转到详细页面,查看每一行数据

import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFHyperlink;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.HSSFColor;import org.apache.poi.hssf.util.Region;import org.apache.poi.ss.usermodel.Hyperlink;public class test {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();      }  }



0 0
原创粉丝点击