I tried it with poi 3.5 beta 1 to 3..it is working fine with them... I am searching for poi 3.5 beta 4...I will update you once I get hold of it.
MSB wrote: > > This may give some insight into just what a sorry life I lead but at about > midnight I woke up and thought 'is this a version issue'? So this morning, > I compiled the code against version 3.2 final of POI and it all worked > properly. The only changes I had to make were to replace the > cell.setCellValue("URL Link"); commands (and the other three similar > commands also) with setCellValue(new HSSFRichTextString("URL Link")); > commands instead. Everything else remained exactly the same and the code > worked perfectly when compiled and run to create a binary (.xls) workbook. > > I do not know if you will be able to use version 3.2 final for your > project - as far as I am aware there is no support for the xssf stream in > that archive - but it may be that you can compile against this archive and > run with the code until a fix is found for the bug. > > Yours > > Mark B > > PS One thing I did not do was to try compiling the code against earlier > versions of 3.5 beta. It could be that the bug was introduce by a change > made in one of those and finding the latest one which works would at least > aoffer you some support for xssf; assuming that you need it. > > > sujikin wrote: >> >> thanks a ton Mark! This was really helpful. I will wait for one day >> before filing it as a bug. Maybe someone >> has a solution before that. >> >> Till then let me explore the hyperlink function to make it happen >> indirectly. >> >> Thanks again for your time! >> >> MSB wrote: >>> >>> 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-tp24035177p24050639.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