ffhelly 2014-05-12 15:06
浏览 567
已采纳

poi操作execl如何在cell里做一个超链接访问当前路径文件夹或文件

求例子。。。

  • 写回答

1条回答

  • leehuat 2014-05-12 15:18
    关注

    [code="java"]
    这个是设置一个超链接弹出email地址, 其他类似
    import java.io.FileOutputStream;

    import org.apache.poi.ss.usermodel;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    import org.apache.poi.ss.usermodel.IndexedColors;

    /**

    • @author lance
      */
      public class HyperlinkExample {

      public static void main(String[]args) throws Exception{
      Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();
      CreationHelper createHelper = wb.getCreationHelper();

      CellStyle hlink_style = wb.createCellStyle();
      Font hlink_font = wb.createFont();
      hlink_font.setUnderline(Font.U_SINGLE);
      hlink_font.setColor(IndexedColors.BLUE.getIndex());
      hlink_style.setFont(hlink_font);

      Cell cell;
      Sheet sheet = wb.createSheet("Hyperlinks");
      //URL
      cell = sheet.createRow(0).createCell((short)0);
      cell.setCellValue("URL Link");

      Hyperlink link = createHelper.createHyperlink(Hyperlink.LINK_URL);
      link.setAddress("http://poi.apache.org/");
      cell.setHyperlink(link);
      cell.setCellStyle(hlink_style);

      //link to a file in the current directory
      cell = sheet.createRow(1).createCell((short)0);
      cell.setCellValue("File Link");
      link = createHelper.createHyperlink(Hyperlink.LINK_FILE);
      link.setAddress("link1.xls");
      cell.setHyperlink(link);
      cell.setCellStyle(hlink_style);

      //e-mail link
      cell = sheet.createRow(2).createCell((short)0);
      cell.setCellValue("Email Link");
      link = createHelper.createHyperlink(Hyperlink.LINK_EMAIL);
      //设置路径
      link.setAddress("mailto:poi@apache.org?subject=Hyperlinks");
      cell.setHyperlink(link);
      cell.setCellStyle(hlink_style);

      //create a target sheet and cell
      Sheet sheet2 = wb.createSheet("Target Sheet");
      sheet2.createRow(0).createCell((short)0).setCellValue("Target Cell");

      cell = sheet.createRow(3).createCell((short)0);
      cell.setCellValue("Worksheet Link");
      Hyperlink link2 = createHelper.createHyperlink(Hyperlink.LINK_DOCUMENT);
      link2.setAddress("'Target Sheet'!A1");
      cell.setHyperlink(link2);
      cell.setCellStyle(hlink_style);

      FileOutputStream out = new FileOutputStream("hyperinks.xlsx");
      wb.write(out);
      out.close();

      }
      }
      [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能