It does look a little like it may be a bug. The first thing I did was to visit the Quick Guide and grab the code that demonstrated how to add hyperlinks to a sheet; exactly as you did I am guessing. I put the code into my IDE, compiled and then ran it. Interestingly, it produced a perfectly acceptable OpenXML file. Changing from the XSSFWorkbook to HSSFWorkbook however and I say the same problems that you mentioned, the link to a cell on another sheet failed and to be perfectly honest with you I did not bother tesing the link to the file but I am gojng to guess that would have failed also just as your did. Also, when I opened the .xls (binary) file, Excel issued an error.
The code given in the quick guide was intended to be used when you are targetting both binary (.xls) and OpenXML (.xlsx) files. Is this the case with your application or will be be targetting just the binary files for the time being? If so, I will see if I can put together some code that will accomplish what you are after. Later, this can be refactored so that a test is placed into the code to see what sort of file we are dealing with and to then call the appropriate code; this should provide some breathing space for all whilst the actual (possible) bug is traced. Will post if I make any progress. 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-tp24035177p24038745.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