java利用poi包 爲excel生成超連接

轉載自:http://www.blogjava.net/leekiang/archive/2008/10/21/235794.htmlhtml

 
1,
一個需求, 要求報表生成的Excel表格支持超連接。例如點擊Excel內的公司名, 自動打開瀏覽器並連到該公司的網站上去。在Excel裏面選中所需的單元格, 右鍵彈出屬性, 選超連接就能輸入相應的地址了,既然Excel支持超連接。那就沒有什麼藉口說不能實現了。:).

翻了翻POI的文檔, 很容易就找到了解決方案。在POI中讓單元格實現超連接功能, 能夠用Hyperlink 函數。HYPERLINK函數包含兩個參數, 第一個參數是指向的地址,第二個參數是顯示的字符串

cell = row.createCell(colNumber)。
cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
cell.setCellFormula("HYPERLINK(\"" + "Http://www.google.ca"+ "\",\"" + "Google Canada"+ "\")");
或cell.setCellFormula("HYPERLINK(\"[workbook.xls]'sheet2'!A1\",\"homepage\")"); //HYPERLINK("#明細!A1","homepage"),#表明本工做簿,來源http://club.excelhome.net/thread-54081-1-1.html 如今超連接單元格看起來和通常的單元格沒有分別, 除非你把鼠標放上去纔會變成手行光標。 爲了和通常的習慣相符, 還須要把字符顏色變成藍色和加上下劃線。 這就要用到 style了、 HSSFCellStyle linkStyle = workbook.createCellStyle(); HSSFFont cellFont= workbook.createFont(); cellFont.setUnderline((byte) 1); cellFont.setColor(HSSFColor.BLUE.index); linkStyle.setFont(cellFont); 最後把style應用到cell上去就大功告成了。 cell.setCellStyle(linkStyle); 以上修改自http://sunnylei2008.blogspot.com/2007/07/poihssf.html 和http://diystyle.javaeye.com/blog/132093 還有http://blog.csdn.net/xunyiren/archive/2007/03/08/1524533.aspx
相關文章
相關標籤/搜索