Sorry to say that I cannot get this to work. I found some code in a file in the examples package that looks something like this;
HSSFWorkbook wb = new HSSFWorkbook(); //cell style for hyperlinks //by default hyperlinks are blue and underlined org.apache.poi.hssf.usermodel.HSSFCellStyle hlink_style = wb.createCellStyle(); org.apache.poi.hssf.usermodel.HSSFFont hlink_font = wb.createFont(); hlink_font.setUnderline(org.apache.poi.hssf.usermodel.HSSFFont.U_SINGLE); hlink_font.setColor(org.apache.poi.hssf.util.HSSFColor.BLUE.index); hlink_style.setFont(hlink_font); org.apache.poi.hssf.usermodel.HSSFCell cell; org.apache.poi.hssf.usermodel.HSSFSheet sheet = wb.createSheet("Hyperlinks"); //URL cell = sheet.createRow(0).createCell(0); cell.setCellValue("URL Link"); org.apache.poi.hssf.usermodel.HSSFHyperlink link = new org.apache.poi.hssf.usermodel.HSSFHyperlink(org.apache.poi.hssf.usermodel.HSSFHyperlink.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(0); cell.setCellValue("File Link"); link = new org.apache.poi.hssf.usermodel.HSSFHyperlink(org.apache.poi.hssf.usermodel.HSSFHyperlink.LINK_FILE); link.setAddress("C:\\temp\\sample.xls"); cell.setHyperlink(link); cell.setCellStyle(hlink_style); //e-mail link cell = sheet.createRow(2).createCell(0); cell.setCellValue("Email Link"); link = new org.apache.poi.hssf.usermodel.HSSFHyperlink(org.apache.poi.hssf.usermodel.HSSFHyperlink.LINK_EMAIL); //note, if subject contains white spaces, make sure they are url-encoded link.setAddress("mailto:p...@apache.org?subject=hyperlinks"); cell.setHyperlink(link); cell.setCellStyle(hlink_style); //link to a place in this workbook //create a target sheet and cell org.apache.poi.hssf.usermodel.HSSFSheet sheet2 = wb.createSheet("Target Sheet"); sheet2.createRow(0).createCell(0).setCellValue("Target Cell"); cell = sheet.createRow(3).createCell(0); cell.setCellValue("Worksheet Link"); link = new org.apache.poi.hssf.usermodel.HSSFHyperlink(org.apache.poi.hssf.usermodel.HSSFHyperlink.LINK_DOCUMENT); link.setAddress("Target Sheet!A1"); cell.setHyperlink(link); cell.setCellStyle(hlink_style); FileOutputStream out = new FileOutputStream("C:/temp/hyperlinks.xls"); wb.write(out); out.close(); but it still exhibits the same problems - the file and intra document links do not work. Unless someone else can post a solution then I think that you will need to report this as a bug; it only applies to the HSSF strand however as the example in the Quick Guide works perfectly well for XSSFWorkbooks. Yours Mark B sujikin wrote: > > Hi, > > I am using the below code against poi 3.5 beta 5 > > public class ExcelTest { > @Test > public void testClone() throws FileNotFoundException, IOException{ > HSSFWorkbook wb = new HSSFWorkbook(); //or new HSSFWorkbook(); > CreationHelper createHelper = wb.getCreationHelper(); > > //cell style for hyperlinks > //by default hypelrinks are blue and underlined > 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); > //note, if subject contains white spaces, make sure they are > url-encoded > > link.setAddress("mailto:p...@apache.org?subject=hyperlinks"); > cell.setHyperlink(link); > cell.setCellStyle(hlink_style); > > //link to a place in this workbook > > //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.xls"); > wb.write(out); > out.close(); > } > > The hyperlink to file and hyperlink to other sheet does not work. > > Is this a bug or I am missing something? > > Thanks! > -- View this message in context: http://www.nabble.com/Hyperlink-problem-in-POI-3.5-beta-5-tp24035177p24039694.html Sent from the POI - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@poi.apache.org For additional commands, e-mail: user-h...@poi.apache.org