poi操作execl如何在cell裡做一個超連結訪問當前路徑資料夾或檔案
阿新 • • 發佈:2019-01-07
- 這個是設定一個超連結彈出email地址, 其他類似
- import java.io.FileOutputStream;
- import org.apache.poi.ss.usermodel;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import org.apache.poi.ss.usermodel.IndexedColors;
- /**
- * @author lance
- */
- public class HyperlinkExample {
-
public static void main(String[]args) throws
- Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();
- CreationHelper createHelper = wb.getCreationHelper();
- 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);
- //設定路徑
- link.setAddress("mailto:[email protected]?subject=Hyperlinks");
- cell.setHyperlink(link);
- cell.setCellStyle(hlink_style);
- //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.xlsx");
- wb.write(out);
- out.close();
- }
- }