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

Reply via email to