poi-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From MSB <markbrd...@tiscali.co.uk>
Subject Re: Hyperlink problem in POI 3.5 beta 5
Date Mon, 15 Jun 2009 17:59:43 GMT

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:poi@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:poi@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-unsubscribe@poi.apache.org
For additional commands, e-mail: user-help@poi.apache.org


Mime
View raw message